本文目录一览:
- 1、c语言问题100
- 2、计算机二级c语言南开一百题
- 3、求解c语言的一些题目 100分 好的话追加
- 4、计算机二级c语言南开100题
- 5、C语言题目,100分悬赏
- 6、C语言:求100题随机一位数整除两位数的算式,输出一行两题,一页25行,咋编?
c语言问题100
你的这句话应该说“传值类型的形参值得改变并不能改变对应实参的值,把数据从被调用函数返回到调用函数的唯一途径是通过return语句返回函数值”
计算机二级c语言南开一百题
以下资料已发,请注意查收
01 二级公共基础120题详解版.doc (233.5K)
02 二级公共基础09年3月冲刺复习资料.doc (92K)
03 二级公共基础辅导讲义.doc (805.5K)
04 二级公共基础考点解析.doc (260.5K)
05 二级公共基础试题及详解.doc (79.5K)
06 二级公共基础知识考点精讲.rar (101.98K)
07 二级公共基础知识试题.txt (52.92K)
08 二级公共基础知识习题(2009年3月).rar (31.83K)
09 二级公共基础总结.doc (61.5K)
10 二级公共基础知识教程.doc (427K)
11 公共基础知识要点及历年真题.pdf (469.88K)
12 二级公共基础复习大全.chm (137.79K)
13 数据结构与算法.doc (67.5K)
13 数据结构与算法习题.doc (54K)
01_2009年9月C语言及公共基础串讲资料.doc (243K)
02_2009年3月C语言笔试冲刺复习资料.doc (93K)
2010年九月二级C语言上机100题word版.doc (1.33M)
2010二级C语言南开100题.doc (93.5K)
求解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
[程序]
#includestdio.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 includestdio.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分)
阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
[程序]
#includestdio.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; i3;i++)
for(j=0;j3;j++)
if(ij) f(a[i][j],a[j][i]); /*第8行*/
for(i=0;i3;i++)
for(j=0;j3;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(I2) 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(j2) 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分)
#includestdio.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;i5; i++){
if (a[i]a[x1])
x2=i;
}
f2(a[x1], a[0]);
for (i=0;i5;i++) printf (“%2d”,a[i]);
printf (“\n”);
f1 (a[x2], a[1]);
for (i=0; i5;i++) printf (“%2d”,a[i]);
printf (“\n”);
f2(a[x2], a[4]);
for (i=0; i5;i++) printf (“%2d”,a[i]);
printf (“\n”);
f1 (a[x1],a[3]);
for (i=0; i5;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);
}
}
计算机二级c语言南开100题
以下资料已发,请注意查收
01 二级公共基础120题详解版.doc (233.5K)
02 二级公共基础09年3月冲刺复习资料.doc (92K)
03 二级公共基础辅导讲义.doc (805.5K)
04 二级公共基础考点解析.doc (260.5K)
05 二级公共基础试题及详解.doc (79.5K)
06 二级公共基础知识考点精讲.rar (101.98K)
07 二级公共基础知识试题.txt (52.92K)
08 二级公共基础知识习题(2009年3月).rar (31.83K)
09 二级公共基础总结.doc (61.5K)
10 二级公共基础知识教程.doc (427K)
11 公共基础知识要点及历年真题.pdf (469.88K)
12 二级公共基础复习大全.chm (137.79K)
13 数据结构与算法.doc (67.5K)
13 数据结构与算法习题.doc (54K)
01_2009年9月C语言及公共基础串讲资料.doc (243K)
02_2009年3月C语言笔试冲刺复习资料.doc (93K)
2010年九月二级C语言上机100题word版.doc (1.33M)
2010二级C语言南开100题.doc (93.5K)
C语言题目,100分悬赏
/*
第一题:已知某班N(〈=50)名学生进行了高数、英语和C语言等3门课考试,将3门课
的成绩以及计算3门课的总分存放于一个二维数组中,将学生姓名存放在另一个二维字
符数组中,按总分(由高到低)将学生姓名排序并输出排序结果(序号和姓名)。
*/
#include "stdafx.h"
#include "stdio.h"
struct scoreInfo{
int scoreMath;
int scoreProC;
int scoreEng;
int scorSum;
};
struct studentInfo{
char name[20];
struct scoreInfo _scoreInfo;
};
void inputInfo(struct studentInfo *stu,int n)
{
int i = 0;
for(i = 0; i n; i++)
{
printf("第%d个学生的姓名:",i+1);
gets(stu[i].name);
printf("第%d个学生的数学成绩:",i+1);
scanf("%d",stu[i]._scoreInfo.scoreMath);
getchar();
printf("第%d学生的C语言成绩:",i+1);
scanf("%d",stu[i]._scoreInfo.scoreProC);
getchar();
printf("第%d个学生的英语成绩:",i+1);
scanf("%d",stu[i]._scoreInfo.scoreEng);
getchar();
}
printf("\n");
}
void outputInfo(struct studentInfo *stu,int n)
{
int i = 0;
for (i = 0; i n; i++)
{
stu[i]._scoreInfo.scorSum = stu[i]._scoreInfo.scoreEng + stu[i]._scoreInfo.scoreMath
+ stu[i]._scoreInfo.scoreProC;
}
printf("姓名\t数学成绩\tC语言成绩\t英语成绩\t总分\n");
for (i = 0; i n; i++)
{
printf("%s\t%d\t\t%d\t\t%d\t\t%d\n",stu[i].name,stu[i]._scoreInfo.scoreMath, stu
[i]._scoreInfo.scoreProC
,stu[i]._scoreInfo.scoreEng,stu[i]._scoreInfo.scorSum);
}
}
void arry_max_to_min(struct studentInfo *stu,int n)
{
int indexi;
int indexj;
struct studentInfo _temp;
// struct stdentInfo *ptemp;
// ptemp = stu;
for (indexi = 0; indexi n;indexi++)
{
for (indexj = indexi+1; indexj n; indexj++)
{
if (stu[indexi]._scoreInfo.scorSum stu[indexj]._scoreInfo.scorSum)
{
_temp = stu[indexj];
stu[indexj] = stu[indexi];
stu[indexi] = _temp;
}
}
}
printf("总分从高到低排列:\n");
for (indexi = 0 ; indexi n; indexi++)
{
printf("%s\t%d\t\t%d\t\t%d\t\t%d\n",stu[indexi].name,stu[indexi]._scoreInfo.scoreMath, stu
[indexi]._scoreInfo.scoreProC
,stu[indexi]._scoreInfo.scoreEng,stu[indexi]._scoreInfo.scorSum);
}
}
int main()
{
int studentNum;
struct studentInfo stu[50];
printf("输入学生数:");
scanf("%d",studentNum);
getchar();
inputInfo(stu,studentNum);
outputInfo(stu,studentNum);
arry_max_to_min(stu,studentNum);
return 0;
}
运行结果:
输入学生数:3
第1个学生的姓名:Jack
第1个学生的数学成绩:89
第1学生的C语言成绩:86
第1个学生的英语成绩:96
第2个学生的姓名:Tom
第2个学生的数学成绩:95
第2学生的C语言成绩:94
第2个学生的英语成绩:92
第3个学生的姓名:Star
第3个学生的数学成绩:98
第3学生的C语言成绩:78
第3个学生的英语成绩:89
姓名 数学成绩 C语言成绩 英语成绩 总分
Jack 89 86 96 271
Tom 95 94 92 281
Star 98 78 89 265
总分从高到低排列:
Tom 95 94 92 281
Jack 89 86 96 271
Star 98 78 89 265
Press any key to continue
/*
第二题:编写函数fun(char s[ ], int num[ ]),其功能是统计字符串 s 中数字字符、大写字母、
小写字母和空格字符的出现次数,统计结果存于num数组中。再设计main函数,调用fun函数,
实现预期功能。
*/
#include "stdafx.h"
#include "stdio.h"
#include "string.h"
void fun(char *s, int *num)
{
int length;
int index;
int sum_number = 0;
int sum_char = 0;
int sum_spac = 0;
int sum_CHAR = 0;
length = strlen(s);
for (index = 0; index length; index++)
{
if ((*s = '0') (*s = '9') )
{
sum_number++;
}
if ((*s = 'a') (*s 'z') )
{
sum_char++;
}
if ((*s = 'A') (*s = 'Z') )
{
sum_CHAR++;
}
if (*s == 0x20 )
{
sum_spac++;
}
s++;
}
num[0] = sum_number;
num[1] = sum_CHAR;
num[2] = sum_char;
num[3] = sum_spac;
}
int main()
{
char testarry[50];
int num[4];//用来放数字num[0],num[1]大写字母,num[2]小写字母,num[3]空格数字的个数
//num = (int *)malloc(sizeof(int) * 4);
printf("请输入字符串:");
gets(testarry);
fun(testarry,num);
// printf("%s",testarry);
printf("数字的个数:%d\n大写字母的个数:%d\n小写字母的个数:%d\n空格数字的个数:%d\n",
num[0],num[1],num[2],num[3]);
return 0;
}
运行结果:
请输入字符串:12345 AFASDFE 74897 asfdasf
数字的个数:10
大写字母的个数:7
小写字母的个数:7
空格数字的个数:3
Press any key to continue
第三题:
#include "stdafx.h"
#include "stdio.h"
int main()
{
int i;
int j;
int k;
int half = 0;
char prin;
prin = 'A';
for (i = 0; i 26; i++)
{
prin = 'A';
for (j = 26-i-1;j 0; j--)
{
printf(" ");
}
for (k = 1; k= 2*i+1 ;k++)
{
half = k;
if (--half = i)
{
printf("%c",prin++);
}
else
{
printf("%c",--prin - 1);
}
}
printf("\n");
}
return 0;
}
运行结果:
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
ABCDEFEDCBA
ABCDEFGFEDCBA
ABCDEFGHGFEDCBA
ABCDEFGHIHGFEDCBA
ABCDEFGHIJIHGFEDCBA
ABCDEFGHIJKJIHGFEDCBA
ABCDEFGHIJKLKJIHGFEDCBA
ABCDEFGHIJKLMLKJIHGFEDCBA
ABCDEFGHIJKLMNMLKJIHGFEDCBA
ABCDEFGHIJKLMNONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA
Press any key to continue
[附加说明:]由于百度在栏目里屏蔽了空格和TAB,所以看不出效果,把
需要的话你可以把Email给我 我发给你。打印效果这个上面看不出来。呵呵
Press any key to continue
C语言:求100题随机一位数整除两位数的算式,输出一行两题,一页25行,咋编?
代码文本:
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
int main(int argc,char *argv[]){
int n,m,t;
srand((unsigned)time(NULL));
for(t=0;t100;t++){
n=rand()%9+1;
while((m=rand()%90+10)%n);
printf(t1 ? "%d ÷ %d = \n" : "%d ÷ %d = \t\t",m,n);
if(t==49)
printf("\n\n");
}
return 0;
}