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的自己看看吧,超有用的。我只能说,原作者很好很强大!