1. 急!很急!!c語言編程題 絕對有加分!
/*
Note: No arrays are necessary for this problem. Use scanf, printf as shown below. Numbers may have many digits and may be negative.
注意:這個題目不需要使用數組。用scanf(),printf()就行。數字可能是多位數,也可能是負數。
You are to write a program to analyse a stream of int values from stdin.A sample input stream might contain (possibly over several lines):
寫一個程序來分析用戶輸入的流。下邊是一個例(輸入也可能占據了多行):
3 2 4 5 7 1 6
which should proce the following output:
程序輸出如下:
(3) (2 4 5 7) (1 6)
Number runs: 3
「run」的個數:3
Length longest run: 4
最長的「run」的長度:4
Smallest element which occurs most times consecutively: 1
[*]連續重現的最短元素:1
Max times it occurs consecutively: 1
[*]重現最多的次數:1
The first line of output shows the arguments grouped into "run"s. A run is a subsequence of consecutive elements which is in ascending order, i.e., each element is <= the next.
第一行的輸出展示的是編組進多個「run」里的參數。一個「run」是一列按升序排列的元素,即每一個元素都<=下一個。
(Runs are used when sorting very large amounts of data. They are merged together to former longer runs until all the data is in one run, i.e., sorted.)
("run"是在數據量大的時候用來排序的。多個「run」不斷的相合並,直到融合成一個「run」。)
The other output should be self-explanatory. The last line is interesting. If you run the program with the following input:
其他的輸出就不用再說啥了。最後那行有點兒意思。如果你運行程序,輸入以下內容:
13 12 12 12 1 1 12 12
the output would be:
那麼,將會輸出:
(13) (12 12 12) (1 1 12 12)
Number runs: 3
Length longest run: 4
Smallest element which occurs most times consecutively: 12
Max times it occurs consecutively: 3
Start with file a0.c containing:
從下邊的文件a0.c開始:
#include
int main(){
int x;
while ( scanf("%d", &x) == 1 )
printf("%d ", x);
}
and modify it to proce the output requested.
修改完善,來使其按指定要求輸出。
註:
1.以上翻譯僅供參考;
2.[*]標識處,譯者dodo自認為翻譯的不夠清楚。
*/
#include <stdio.h>
int main(){
int x;
int last;//緩存前一次輸入
int switcher=0;//標識括弧狀態
while ( scanf("%d", &x) == 1 )
{
if( switcher==0 )
{
printf("(");
switcher=1;//沒有閉合
}else if( x<last )
{
printf(")");
switcher=0;//閉合
}
printf("%d ", x);
last=x;
}
return 0;
}
2. C語言程序設計的題目,滿意後加分
#include <stdio.h>
int main(void)
{
int electric,money;
printf("請輸入用電量:");
scanf("%d",&electric);
if(electric<=50)
{
money=electric*0.53;
}
else
{
money=50*0.53+(0.53+0.05)*(electric-50);
}
printf("電費:%d元 ",money);
return 0;
}
3. 求解c語言的一些題目 100分 好的話追加
序說明]
輸入 2 個整數lower 和 upper,輸出一張華氏一攝氏溫度轉換表,華氏溫度的取值范
圍是[lower,upper], 每次增加 20 F. 計算公式如下, 式中: c 表示攝氏溫度,f表示華氏溫度。
C= 5x(f一32)/9
運行示例:
Enter lower: 30
Enter upper: 35
fahr celsius
30 -1.1
32 0.0
34 1.1
[程序]
#include <stdio.h>
main( )
{ int fahr, lower, upper,
double celsius
printf (」Enter lower:」);
scanf ("%d」, &lower」);
printf ("Enter upper:」);
scanf (「%d」, &upper);
printf(」fahr celsius \n」);
for (fahr=lower;____(1)____;____(2)____){
celsius =____(3)____ ;
printf (「%d ____ (4)_____ \n「, fahr, celsius);
}
}
[供選擇的答案]
計算機等級考試試卷(二級C)第1頁(共7頁)
(l) A、 fahr <= upper B、fahr < upper
C 、 fahr >=uppa r D、 fahr > upper
(2) A、 fahr++ B、 fahr =fahr -2
C、 fahr + 2 D、fahr + 2
(3) A、5*(fahr – 32) /9 B、(5.0/9.0)*(fahr – 32)
C、 5/9*(fahr – 32) D、 5 * fahr - 32/9
(4) A、 %6d B、%6.2f C、%6.lf D、%6.0f
試題2 (每小題3分,共12分)
閱讀下列程序說明和程序. 在每小題提供的若干可選答案中, 挑選一個正確答案.
[程序說明]
輸入 2 個正整數 a 和 n, 求 a+aa+aaa+aa...a(n 個 a)之和.要求定義並調用函數
fn(a,n), 它的功能是返回aa...a(n個a).例如,fn(3,2)的返回值是33.
運行示例,
Enter a: 2
Enter n: 3
sum = 246
[程序]
#include<stdio.h>
main ( )
{ int i, n;
long a, sn;
long fn(long a, int n);
printf(「Enter a;」);
scanf (「%ld」, &a);
printf(「Enter n:」);
scanf(「%d」,&n);
_________(5)_______________
for ( i=1;i<=n; i++)
_________(6)____________
printf(「sum=%ld\n」,sn);
}
long fn(long a,int n)
{ int i;
long tn=0;
for(i=1;i<=n;i++) {
tn=tn+a;
________(7)____________
}
計算機等級考試試卷(二級C)笫 2 頁(共 7 頁)
(8)
}
[供選擇的答案]
(5) A sn=0; B ;
C sn=1; D sn=a;
(6) A sn=sn+fn(a, I ); B sn=sn+fn(a,n);
C sn=sn+fn(I,a); D sn=sn+fn(I,n);
(7) A tn=tn*10; B a=a*10;
C sn=tn*10; D sn=sn+a*10;
(8) A return; B return sn;
C return a; D return tn;
試題3(每小題3分,共12分)
閱讀下列程序說明和程序,在每小題提供的若干可選答案中,挑選一個正確答案。
[程序說明]
輸入一個以回車結束的字元串(少於80個字元),刪除其中除英文字母和數字字元以外的其他字元,再判斷新字元串是否對稱(不區分大小寫字母)。
運行示例1:
Enter a string : Madam I』m Adam
Yes
運行示例2:
Enter a string : elephant
No
#include <stdio.h>
#include <___(9)___>
main()
{ int flag ,i,k,length;
char str[80];
printf(「Enter a string:」);
gets(str);
i=k=0;
while(str[i]!=』\0』){
if(isupper(str[i])) str[i]=tolower(str[i]);
if(isdigit(str[i])//isalpha(str[i])){
(____10____)
k++;
}
i++;
計算機等級考試試卷(二級C)笫 3 頁(共 7 頁)
}
____(11)______
length=k;
flag=1;
for(k=0;k<=length/2;k++)
if(str[k]!=str[length-1-k]){
_____(12)______
break;}
if(flag) printf(「Yes\n」);
else printf(「No\n」);
}
[供選擇的答案]
(9) A 、ctype.h B、 string . h
C、 stdilb .h D、 math .h
(10) A、 i++; B、 str[k]=str[i];
C、 str[i]=str[k]; D、;
(11) A 、str[i]=』\0』; B 、str[i-1]=』\0』;
C、 str[k]=』\0』; D、 ;
(12) A、 flag=1; B、 flag=0;
C 、; D 、continue;
試題4 (每小題3分,共12分)
閱讀下列程序並回答問題,在每小題提供的若干可選答案中,挑選一個正確答案.
[程序]
#I include<stdio.h>
main()
{ int i,,m;
scanf(「%d」,&m);
for(i=2;i<=m/2;i++)
if(m%i==0){
printf(「%d#」,i);
break;} /*第8行*
printf(「%d」,i);}
(13)程序運行時,輸入5,輸出____13_____
A、3 B、3#3
C、3#4 D、3#5
(14)程序運行時,輸入9,輸出___14______
計算機等級考試試卷(二級C)笫 4頁(共 7 頁)
A、 3 B、 3#3
C、 3#4 D、 3#5
(15)將第8行改為」continue;」後,程序運行時,輸入9,輸出——。
A、 3 B、 3#3
C、 3#4 D、3#5
(16)將第8行改為「;「後,程序運行時,輸入9,輸出——。
A 、3 B、 3#3
C、 3#4 D、 3#5
試題5(每小題3分,共12分)
閱讀下列程序並回答問題,在每小題提供的若干可選答案中,挑選一個正確答案。
[程序]
#include<stdio.h>
main()
{int i,j,temp;
int a[3][3]={1,2,3,4,5,6,7,8,9};
void f(int *x,int *y);
for(i=0; i<3;i++)
for(j=0;j<3;j++)
if(i<j) f(&a[i][j],&a[j][i]); /*第8行*/
for(i=0;i<3;i++)
for(j=0;j<3;j++)
printf(「%2d」, a[i][j]);
}
void f(int *x,int *y)
{ int t;
t=*x; *x=*y; *y=t;
}
(17)程序的輸出是—(17)——。
A、3 2 1 6 5 4 9 8 7 B、 7 8 9 4 5 6 1 2 3
C、1 2 3 4 5 6 7 8 9 D、1 4 7 2 5 8 3 6 9
(18)將第8行改為」f(&a[I][j],&a[j][I]);」後,程序的輸出是——(18)——。
A、 3 2 1 6 5 4 9 8 7 B、7 8 9 4 5 6 1 2 3
C、1 2 3 4 5 6 7 8 9 D、1 4 7 2 5 8 3 6 9、
(19)將第8行改為」if(I<2) f(&a[I][j],&a[2-I][j]);」後,程序的輸出是——(19)——。
A、3 2 1 6 5 4 9 8 7 B、7 8 9 4 5 6 1 2 3
C、1 2 3 4 5 6 7 8 9 D、1 4 7 2 5 8 3 6 9、
(20)將第8行改為」if(j<2) f(&a[I][2-j]);」後,程序的輸出是——(20)——。
計算機等級考試試卷(二級C)笫 5頁(共 7 頁)
A、3 2 1 6 5 4 9 8 7 B、7 8 9 4 5 6 1 2 3
C、1 2 3 4 5 6 7 8 9 D、1 4 7 2 5 8 3 6 9
試題6(每小題3分,共12分)
#include<stdio.h>
main()
{ int i,x1,x2;
int a[5]={1,2,3,4,5};
void f1(int x,int y), f2 (int *x, int *y);
x1=x2=0;
for(i=1;i<5; i++){
if (a[i]<a[x1])
x2=i;
}
f2(&a[x1], &a[0]);
for (i=0;i<5;i++) printf (「%2d」,a[i]);
printf (「\n」);
f1 (a[x2], a[1]);
for (i=0; i<5;i++) printf (「%2d」,a[i]);
printf (「\n」);
f2(&a[x2], &a[4]);
for (i=0; i<5;i++) printf (「%2d」,a[i]);
printf (「\n」);
f1 (a[x1],a[3]);
for (i=0; i<5;i++) printf (「%2d」,a[i]);
printf (「\n」);
}
void f1 (int *x, int *y)
{ int t;
t=x; x=y; y=t;
}
void f2(int *x, int *y)
{ int t;
t=*x; *x=*y; *y=t;
}
(21) 程序運行時,第1行輸出——(21)——。
A.1 2 3 4 5 B。2 1 3 4 5
計算機等級考試試卷(二級C)笫 6頁(共 7 頁)
C、1 2 3 5 4 D、5 2 3 4 1
(22) 程序運行時,第2行輸出 :_____(22)_____
A、2 1 3 4 5 B、5 2 3 4 1
C、2 5 3 4 1 D、1 2 3 4 5
(23)程序運行時,第3行輸出 _______(23)______ .
A、1 2 3 5 4 B、2 5 3 4 1
C、1 2 3 4 5 D、5 2 3 4 1
(24)程序運行時,第4行輸出 _______(24)_____ .
A、5 2 3 1 4 B、1 2 3 4 5
C、1 2 3 5 4 D、5 2 3 4 1
試題7 (28 分)
從n個不同的元素中,每次取出 k個不同的元素,丕管其順序合並成一組,稱為組合.
組合種數計箅公式如下..
Cnk=n!/((n-k)!*k!)
1)定義函數fact(n)計算n!,類型double.
2)定義函數cal(k,n),計算組合種數Cnk,類型double.要求調用fact(n)計算n!.
3)定義函數main(),輸入正整數n,輸出n的所有組合數
Cnk,要求調用函數cal(k,n).
答案:
試題1:1、A 2、D 3、B 4、C
試題2:5、A 6、A 7、A 8、D
試題3:9、A 10、B 11、A 12、B
試題4:13、A 14、B 15、D 16、D
試題5:17、D 18、C 19、B 20、A
試題6:21、D 22、D 23、D 24、B
試題7:
# include 「stdio.h」
double fact(int n)
{int k; double result=1;
for(k=1;k<=n;k++)
result*=k;
return result;
}
double cal(int k, int n)
{double result;
result=fact(n)/(fact(n-k)*fact(k));
return result;
}
void main( )
{int n,k;
double x;
scanf(「%d」,&n);
for(k=1;k<=n;k++)
{x=cal(k,n);
printf(「%f\n」,x);
}
}
4. C語言 ,編程題,會加分
#include<stdio.h>
void main()
{
int sum = 0; /*用來存儲最終輸出結果*/
for(int i = 1;i<=200;i++) /*1和200之間*/
if(i%2==0 || i%3==0) /*如果能被2或3整除*/
sum += i;
printf("sum is %d\n",sum);
}
不知樓主說的1和200之間包不包括200,我包括了,如果不包括的話,把第5行的<=改成<就行了。
另外,樓主如果懷疑正確性的話,可以看看下面這個程序,用來輸出所有滿足條件的數,但沒加在一起,呵呵
#include<stdio.h>
void main()
{
for(int i = 1;i<=200;i++)/*1和200之間*/
if(i%2==0 || i%3==0)/*如果能被2或3整除*/
printf("%d\n",i);
}
5. 三道題,C語言編程。做完加分
第一題:
#include<stdio.h>
intcalculate(intn);
voidmain()
{
intn;
scanf("%d",&n);
printf(" %d",calculate(n));
system("pause");
}
intcalculate(intn)
{
inta,b,c,sum;
a=n/100;//把百位提出來
b=((n%100)/10)%10;//十位提出來
c=n%10;//個位提出來
sum=c*100+b*10+a*1;//個位、十位、百位交換位置
returnsum;
}
第二題:
#include<stdio.h>
voidmain()
{
charn,sum1=0,sum2=0,sum=0;
//原式可變為2*(1-2+3-4+.....-50+51),求和通項為2*((2*n+1)-(2*n+2))
for(n=0;n<=51/2;n++)//2*n+1的項求和
{
sum1+=(2*n)+1;
}
for(n=0;n<=(51/2-1);n++)//(2*n+2)的項求和
{
sum2+=(2*n)+2;
}
sum=2*(sum1-sum2);//求最終的值
printf("%d ",sum);
system("pause");
}
第三題:
#include<stdio.h>
voidmain()
{
inta,n,cnt;
longsum,temp,k=1;
scanf("%d%d",&a,&n);
sum=temp=a;//第一項
for(cnt=0;cnt<n-1;cnt++)//從第二項開始到第n項求和
{
k=k*10;
temp=a*k+temp;
sum+=temp;
}
printf("%ld ",sum);
}
6. C語言編程題 急用 好的給加分
#include<stdio.h>
void main()
{
int i,k;
float j,sum=0;
printf("輸入家庭人數\n");
scanf("%d",&i);
printf("輸入所用的水量\n");
scanf("%f",&j);
k=3*i;
if((j-k)/k>=0.4)
sum=((j-k)/k-0.4)*k*4*3.4+0.2*k*3*3.4+0.2*k*2*3.4+k*3.4;
else if((j-k)/k<0.4&&(j-k)/k>=0.2)
sum=((j-k)/k-0.2)*k*3*3.4+0.2*k*2*3.4+k*3.4;
else if((j-k)/k<0.2&&(j-k)/k>=0)
sum=((j-k)*2*3.4+k*3.4);
else
sum=j*3.4;
printf("應交稅費%0.2f元\n",sum);
scanf("%d",&i);
}
7. 一道c語言編程題,有額外加分哦
這個..給你個公式吧:
(a+b)%c=(a%c+b%c)%c
這下就不會溢出了,int就能搞定了。
如果還不懂,請追問。
8. 用簡單的C語言編寫,有加分。
第一題
#include<stdio.h>
int main()
{
int stu[10]={65,75,45,80,90,60,39,95,78,55};
int i=0,sum=0;
if(i<10)
{
sum+=stu[i];
i++;
}
printf("平均分:%f",sum*0.1);
}
第二題
#include<stdio.h>
int main()
{
int pf[8],i=0,max,min,sum=0;
float ave;
do{
printf("請%d號評委打分:");
scanf("%d",&pf[i]);
sum+=pf[i];
i++;
}while(i<8);
min=pf[0];max=pf[0];
while(i<8)
{
i++;
if(min<pf[i])
min=pf[i];
if(max>pf[i])
max=pf[i];
}
ave=(sum-max-min)*1.0/6;
printf("平均分為:%f",ave);
getch();
}
第三題
#include<stdio.h>
int main()
{
int i=0,sum=0;
while(i<=100)
{
if(i%2==0)
sum+=i;
i++;
}
printf("所有偶數的和適%d",sum);
getch();
return 1;
}
第四題
#include<stdio.h>
int main()
{
int i,j,sum=0;
char name[100];
printf("what's your name:%s",name);
scanf("%s",name);
for(i=0;i<15;i++)
{
for(j=0;j<5;j++)
{
printf("%s ",name);
}
printf("\n");
}
getch();
return 1;
}
第五題
#include<stdio.h>
int main()
{
int i,j,sum=0;
do{
printf("Please input number:");
scanf("%d",&i);
if(i>=0)
printf("絕對值(這個單詞英語我不會寫 正好你是學英語的教教我呵呵)is:%d\n",i);
else
printf("絕對值is:%d\n",0-i);
}while(i!=0);
getch();
return 1;
}
/***每道題我都測試了一遍 都好用~ 不懂得hi網路問我**/
9. 求c語言典型題目 可追加分!!!
C語言趣味程序百例精解 網路一下前面的內容,是PDF的自己看看吧,超有用的。我只能說,原作者很好很強大!