知識點:
/ % 的靈活運用。
內容: 一個三位自然數,分離出它的百位、十位與個位上的數字
輸入說明:
一行一個三位整數
輸出說明:
一行三個數字 , 空格隔開。分別是百 十 個位數字
輸入樣例:
256
輸出樣例 :
2 5 6
#include <stdio.h> int main() { int a; scanf("%d",&a); printf("%d %d %d\n",a/100,a/10%10,a%10); return 0; }
南開二級C語言上機100題
1、 改錯題1
下列給定程序的功能是:讀入一個整數(2<=k《=10000》,打印它的所有質因子(即所有為素數的因子)。例如,若輸入整數2310,則應輸出2、3、5、7、11。
請改正程序中的錯誤,使程序能得出正確的結果。
注意,不要改多main函數,不得增行或刪行,也不得更改程序的結構!
試題程序:
#include <conio.h>
#include <stdio.h>
*******************************
IsPrime(int n); ——————去掉分號
{int i,m;
m=1;
for ( i=2; i<n; i++)
******************************
if !(n%i) ——————if (!(n%i))
{ m=0; break; }
return (m);
}
main()
{ int j,k;
clrscr();
printf("nPlease enter an integer number between 2 and 10000:");scanf("%d",&k);
printf("nnThe prime factor(s) of %d is (are):",k);
for (j=2;j<=k;j++)
if ((!(k%j))&&(IsPrime(j)) printf("n %4d",j);
printf("n");
)
2、 編程題1
m個人的成績存放在score數組中,請編寫函數fun,它的功能是:將低於平均分的人數作為函數值行會,將低於平均分的分數放在below所指的數組中。
例如,但score數組的數據為10、20、30、40、50、60、70、80、90時,函數返回的人數應該時4,below中的數據應為10、20、30、40。
注意:部分源程序給出如下。
請勿改動主函數main和其他函數中的任何內容僅在函數fun的花括號中填入所編寫的若干語句。
試題程序:
#include <conio.h>
#include <stdio.h>
#include <string.h>
int fun (int score[],int m, int below[])
{
——————int i,k=0;float aver=0;
for(i=0;i<m;i++)
aver+=(score[i]);
aver/=m;
for (i=0;i<m;i++)
if (score[i]<aver)
{below[k]=score[i];
......余下全文>>
條件表達式 語法上 基本上都有問題。
if( no1 < no2 < no3) case1++;
if ( (no1 < no2) && (no2 < no3) ) ...
if( no1 > no2 > no3) case2++;
if ( (no1 > no2) && (no2 > no3) ) ....
if( no1 == no2 == no3) case3++;
if ( (no1 == no2) && (no2 == no3) ) ....
還有 其它條件表達式 。。。