C语言程序设计题 找高手必须稳对的 明天考试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言程序设计题 找高手必须稳对的 明天考试相关的知识,希望对你有一定的参考价值。
1.循环程序;计算Sn=a+aa+aaa+...+aa+a的值 其中a是一位数字
2.一维数组:找出数组中最大值和此值的下标
3.二位数组:完成3*3矩阵的转置
4.输入一行字符,统计其中英文字幕.空格.数字.和其他字符的个数
5.定义学生结构体,包括学号,姓名,各科成绩等,计算每个学生的总成绩和平均成绩
6.下面程序的输出结果
a)char s[]=“ABCD”;
b)main()
i. char*p;
ii. for(p=s;p<s+4;p++)
1.printf("%s\n",p)
c)/*end of main*/
哦了 如果有知道的谢谢帮下忙 明天补考 但是不知道答案 最好用C语言程序设计谭浩强编的书的答法解答 怕太NB的答法老师不明白 在线等 100分酬谢 补考过了在多加分
2楼的太NB啊 但是我不知道对不对啊 呵呵
#include<stdio.h>
void main()
int n,sum=0,i,tmp;
printf("input a digit:");
scanf(%d",&n);
for(i=0,tmp=0;i<n;i++)
tmp=tmp*10+n;
sum+=tmp;
for(;i>0;i--)
tmp=tmp/10;
sum+=tmp;
printf("sum=%d\n",sum);
2.一维数组:找出数组中最大值和此值的下标
#include <stdio.h>
#include <malloc.h>
void main()
int n=0,*arr=NULL;
int temp=0, index=0,i;
printf("输入多少个数?");
scanf("%d",&n);
arr=(int*)malloc(sizeof(int)*n);
for (i=0; i<n; i++)
printf("请输入第%d个数: ",i+1);
scanf("%d",&arr[i]);
for (i=0; i<n; i++)
if (arr[i]>temp)
temp=arr[i];
index=i;
printf("最大数为:%d ; 下标为:%d \n", temp, index);
3.二位数组:完成3*3矩阵的转置
#include <stdio.h>
void rotate(int a[3][3])
int i,j;
int temp;
for(i=0;i<3;i++)
for(j=0;j<i;j++)
if(i!=j)
temp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=temp;
main()
int a[3][3]=1,2,3,4,5,6,7,8,9;
int i,j;
rotate(a);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
printf("%d ",a[i][j]);
printf("\n");
getchar();
4.输入一行字符,统计其中英文字幕.空格.数字.和其他字符的个数
#include <stdio.h>
#include <string.h>
void main()
char a[1000], i, x1, x2, x3, x4;
scanf("%s", a);
x1 = 0; x2 = 0; x3 = 0; x4 = 0;
for (i = 0; i < strlen(a); i++)
if (((a[i] >='a') && (a[i] <= 'z')) || ((a[i] >='A') && (a[i] <= 'Z'))) x1 ++;
else if (a[i] == ' ') x2++;
else if ((a[i] >= '0') && (a[i] <= '9')) x3++;
else x4++;
printf("%d %d %d %d\n", x1, x2, x3, x4);
5.定义学生结构体,包括学号,姓名,各科成绩等,计算每个学生的总成绩和平均成绩
#include <stdio.h>
#include <string.h>
#define STU_NUM 10//学生数
#define SCORE_NUM 3//每个学生的科目数
typedef struct /*定义结构体数组*/
char num[20]; /*学号*/
char name[20]; /*姓名*/
float score[SCORE_NUM]; /*成绩*/
float total;//总分
float average;//平均分
Student;
Student stu[STU_NUM];
//输入学生信息
void input()
int i,j;
printf("请输入%d个学生的信息:\n",STU_NUM);
for(i=0;i<STU_NUM;i++)
printf("学号:");
scanf("%s",stu[i].num);
printf("姓名:");
scanf("%s",stu[i].name);
for(j=0;j<SCORE_NUM;j++)
printf("科目%d的成绩:",j+1);
scanf("%f",&stu[i].score[j]);
//输出学生信息
void output()
int i,j;
//打印表头
printf("学号\t姓名\t");
for(j=0;j<SCORE_NUM;j++)
printf("科目%d\t",j+1);
printf("总分\t平均分\n");
//打印所有学生信息
for(i=0;i<STU_NUM;i++)
printf("%s\t%s\t",stu[i].num,stu[i].name);
for(j=0;j<SCORE_NUM;j++)
printf("%3.2f\t",stu[i].score[j]);
printf("%3.2f\t%3.2f\n",stu[i].total,stu[i].average);
//计算总分和平均分
void process()
int i,j;
for(i=0;i<STU_NUM;i++)
stu[i].total=0;
for(j=0;j<SCORE_NUM;j++)
stu[i].total+=stu[i].score[j];
stu[i].average=stu[i].total/SCORE_NUM;
void main()
input();
process();
output();
6.下面程序的输出结果
char s[]=“ABCD”;
main()
char*p;
for(p=s;p<s+4;p++)
printf("%s\n",p)
/*end of main*/
输出结果:
ABCD
BCD
CD
D 参考技术A 1.循环程序;计算Sn=a+aa+aaa+...+aa+a的值
其中a是一位数字
#include<stdio.h>
void
main()
int
n,sum=0,i,tmp;
printf("input
a
digit:");
scanf(%d",&n);
for(i=0,tmp=0;i<n;i++)
tmp=tmp*10+n;
sum+=tmp;
for(;i>0;i--)
tmp=tmp/10;
sum+=tmp;
printf("sum=%d\n",sum);
2.一维数组:找出数组中最大值和此值的下标
#include
<stdio.h>
#include
<malloc.h>
void
main()
int
n=0,*arr=NULL;
int
temp=0,
index=0,i;
printf("输入多少个数?");
scanf("%d",&n);
arr=(int*)malloc(sizeof(int)*n);
for
(i=0;
i<n;
i++)
printf("请输入第%d个数:
",i+1);
scanf("%d",&arr[i]);
for
(i=0;
i<n;
i++)
if
(arr[i]>temp)
temp=arr[i];
index=i;
printf("最大数为:%d
;
下标为:%d
\n",
temp,
index);
3.二位数组:完成3*3矩阵的转置
#include
<stdio.h>
void
rotate(int
a[3][3])
int
i,j;
int
temp;
for(i=0;i<3;i++)
for(j=0;j<i;j++)
if(i!=j)
temp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=temp;
main()
int
a[3][3]=1,2,3,4,5,6,7,8,9;
int
i,j;
rotate(a);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
printf("%d
",a[i][j]);
printf("\n");
getchar();
4.输入一行字符,统计其中英文字幕.空格.数字.和其他字符的个数
#include
<stdio.h>
#include
<string.h>
void
main()
char
a[1000],
i,
x1,
x2,
x3,
x4;
scanf("%s",
a);
x1
=
0;
x2
=
0;
x3
=
0;
x4
=
0;
for
(i
=
0;
i
<
strlen(a);
i++)
if
(((a[i]
>='a')
&&
(a[i]
<=
'z'))
||
((a[i]
>='A')
&&
(a[i]
<=
'Z')))
x1
++;
else
if
(a[i]
==
'
')
x2++;
else
if
((a[i]
>=
'0')
&&
(a[i]
<=
'9'))
x3++;
else
x4++;
printf("%d
%d
%d
%d\n",
x1,
x2,
x3,
x4);
5.定义学生结构体,包括学号,姓名,各科成绩等,计算每个学生的总成绩和平均成绩
#include
<stdio.h>
#include
<string.h>
#define
STU_NUM
10//学生数
#define
SCORE_NUM
3//每个学生的科目数
typedef
struct
/*定义结构体数组*/
char
num[20];
/*学号*/
char
name[20];
/*姓名*/
float
score[SCORE_NUM];
/*成绩*/
float
total;//总分
float
average;//平均分
Student;
Student
stu[STU_NUM];
//输入学生信息
void
input()
int
i,j;
printf("请输入%d个学生的信息:\n",STU_NUM);
for(i=0;i<STU_NUM;i++)
printf("学号:");
scanf("%s",stu[i].num);
printf("姓名:");
scanf("%s",stu[i].name);
for(j=0;j<SCORE_NUM;j++)
printf("科目%d的成绩:",j+1);
scanf("%f",&stu[i].score[j]);
//输出学生信息
void
output()
int
i,j;
//打印表头
printf("学号\t姓名\t");
for(j=0;j<SCORE_NUM;j++)
printf("科目%d\t",j+1);
printf("总分\t平均分\n");
//打印所有学生信息
for(i=0;i<STU_NUM;i++)
printf("%s\t%s\t",stu[i].num,stu[i].name);
for(j=0;j<SCORE_NUM;j++)
printf("%3.2f\t",stu[i].score[j]);
printf("%3.2f\t%3.2f\n",stu[i].total,stu[i].average);
//计算总分和平均分
void
process()
int
i,j;
for(i=0;i<STU_NUM;i++)
stu[i].total=0;
for(j=0;j<SCORE_NUM;j++)
stu[i].total+=stu[i].score[j];
stu[i].average=stu[i].total/SCORE_NUM;
void
main()
input();
process();
output();
6.下面程序的输出结果
char
s[]=“ABCD”;
main()
char*p;
for(p=s;p<s+4;p++)
printf("%s\n",p)
/*end
of
main*/
输出结果:
ABCD
BCD
CD
D 参考技术B 1、
main()
int n,a;
long s=0;
scanf("%d%d",&n,&a);
for(i=1;i<=n;i++)
s=s+a;
a=a*10+a;
s=s*2+a;
printf("Sn : %ld",s);
2、
define N 20
main()
int i,max,xb=0;
int a[N]
for(i=0;i<N;i++)
scanf("%d",&a[i]);
if(a[xb]<a[i]) xb=i;
max=a[xb];
printf("Max value is:%d,%d",max,xb);
3、
#define N 3
#define M 3
main()
int i,j,t;
int a[N][M];
for(i=0;i<N;i++)
for(j=0;j<M;j++)
scanf("%d",&a[i][j]);
for(i=0;i<N;i++)
for(j=0;j<=i;j++)
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t
4、main()
char c;
int zm=0,kg=0,su=0,qt=0;
scanf("%c",&c);
while(c!='\n')
if((c>='a' && c<='z') || (c>='A' && c<='Z')) zm++;
elseif(c==' ') kg++;
elseif(c>='0' && c<='9') su++;
else qt++;
scanf("%c",&c);
printf("%d,%d,%d,%d",zm,kg,su,qt);
5、struct st
int xh;
char name[20];
int cj[5];// 定义各科成绩
float sum;
float avg;
main()
struct st a[10];//定义10人的数据;
int i,j;
for(i=0;i<10;i++)
scanf("%d %s",&a[i].xh,a[i].name);
a[i].avg=0.0;
a[i].sum=0.0;
for(j=0;j<5;j++)
scanf("%d",&a[i].cj[j]);
a[i].sum=a[i].sum+a[i].cj[j];
a[i].avg=a[i].sum/5;//指定的科目数为5
//输出
for(i=0;i<10;i++)
printf("\n%d,%s,",a[i].xh,a[i].name);
for(j=0;j<5;j++)
printf("%d,",a[i].cj[j]);
printf("%f,%f",a[i].sum,a[i].avg);
6、输出为空; 参考技术C 2、
#include <iostream.h>
#include <stdlib.h>
int main()
int a[10];
int i,temp;
i = temp = 0;
//srand((unsigned)time(NULL));
srand(10);
for(i=0;i<10;i++)
a[i] = rand();
for(i=1;i<=10;i++)
cout<<"a["<<i<<"] = "<<a[i-1]<<endl;
temp = a[0];
for(i=1;i<10;i++)
if(temp<a[i])
temp = a[i];
cout<<"The max number is "<<temp<<endl;
for(i=1;i<10;i++)
if(temp == a[i])
cout<<"The position is "<<i+1<<endl;
system("PAUSE");
return EXIT_SUCCESS;
兰的在做了
由于明天考试,今天面试题打卡停止一天
明天要考试了,现在在复习,所以面试题打卡停止一天
以上是关于C语言程序设计题 找高手必须稳对的 明天考试的主要内容,如果未能解决你的问题,请参考以下文章
C语言中运行中,main函数被重复定义,后面的就不能运行了怎么办,下午考试,求高手
计算机二级C语言考试中,后面三道大题需要自己修改或者填写里面的部分程序,考试的时候能不能修改好了之