×

c语言基础编程100道带答案

c语言基础编程100道带答案(c语言经典100题菜鸟教程)

hacker hacker 发表于2022-06-28 03:38:29 浏览20 评论3

3人参与发表评论

本文目录一览:

C语言编程题。速求答案!!~~~~!!!!积分送上~!

#include iostream

// 第一个函数

int getAsc(char ch)

{

if (((ch = '0')(ch = '9')) ||

((ch = 'a')(ch = 'z')) ||

((ch = 'A')(ch = 'Z')))

{

return int(ch);

}

else

{

return 0;

}

}

// 第二个函数

void printBinary(int iData)

{

int i = 31;

char bValue[32] = {0};

do

{

bValue[i] = iData%2;

iData /= 2;

i--;

} while (0 != iData);

for (int j = 0; j 32; j++)

{

std::cout int(bValue[j]);

}

}

// 第三个函数,我不太清楚你所谓的"转换",是不是和上一个一样输出?我是这么实现的

void printOctal(int iData)

{

int i = 10;

char bValue[11] = {0};

do

{

bValue[i] = iData%8;

iData /= 8;

i--;

} while (0 != iData);

for (int j = 0; j 11; j++)

{

std::cout int(bValue[j]);

}

}

// 测试代码,输出字符'9'的asc码,输出'X'的asc码

// 输出1000的二进制和八进制(前面空位用0填充)

int main()

{

int x = getAsc('9');

std::cout x std::endl;

x = getAsc('X');

std::cout x std::endl;

printBinary(1000);

std::cout std:;endl;

printOctal(1000);

std::cout std::endl;

return 0;

}

求几道简单C语言编程题答案

1.

#include

stdio.h

int

main()

{

int

y0,

m0,

d0,

y1,

m1,

d1,

age;

while

(

scanf("%d%d%d%d%d%d",

y0,

m0,

d0,

y1,

m1,

d1

)

){

age

=

y1

-

y0

-

1;

if

(

m1

m0

||

m1

==

m0

d1

=

d0

)

++age;

printf("年龄为:%d周岁!\n",

age);

}

return

0;

}

4.

#include

stdio.h

#include

memory.h

int

main()

{

char

p[500];

int

i,

count;

while

(

scanf("%s",

p)

){

count

=

0;

for

(

i

=

0;

i

!=

strlen(p);

++i

)

if

(

p[i]

=

'a'

p[i]

=

'z'

)

++count;

printf("%d\n",

count);

}

return

0;

}

2.

#include

stdio.h

int

main()

{

int

n;

while

(

scanf("%d",

n)

){

if

(

(

n

1

)

==

)

printf("%d是偶数!\n",

n);

else

printf("%d,是奇数!\n",

n);

}

return

0;

}

第三题(用EFO结束)?EOF吧?EOF已经是文件尾,怎样输出结果?

100分C语言编程题!一个半小时之内求答案,采纳追加50分!

第一题:

#include stdlib.h

#include stdio.h

#include conio.h

#define RMAX 3

#define cMAX 4

void sumRow(int a[][cMAX],int b[])

{

for(int i = 0;i RMAX;i++)

{

b[i] = 0;

for(int j = 0;j cMAX;j ++)

b[i] += a[i][j];

}

}

void main()

{

int i,j,a[RMAX][cMAX],b[RMAX];

clrscr();

randomize();

for(i=0;iRMAX;i++)

for(j=0;jcMAX;j++)

a[i][j]=random(nMAX);

printf("产生随机数后数组如下所示:\n");

for(i=0;iRMAX;i++){

for(j=0;jcMAX;j++)

printf("%d ",a[i][j]);

printf("\n");

}

sumRow(a,b);

printf("每行的和为:\n");

for(i=0;iRMAX;i++){

printf("第%d行和为%d\n",i+1,b[i]);

}

}

-----------------------------------------------

第二题

#include stdlib.h

#include stdio.h

void replace(char *p,char ch)

{

while(*p != '\0'){

if(*p == ch)*p='x';

p ++;

}

}

void main()

{

char str[] = "I am a student in hunan university";

printf("请输入字符:");

char ch = getchar();

replace(str,ch);

printf("替换后的字符串为:%s\n",str);

}

-------------------------------------------

第三题

#include stdlib.h

#include stdio.h

#include string.h

#define LEN 20

void sort(char str[][LEN],int n)

{

for(int i = 0;i n;i ++)

for(int j = 0;j n-1-i;j ++)

if(strcmp(str[j],str[j+1]) 0)

{

char s[LEN];

strcpy(s,str[j]);

strcpy(str[j],str[j+1]);

strcpy(str[j+1],s);

}

}

void main()

{

char str[][LEN] = {"student","worker","teacher","doctor"};

sort(str,4);

printf("排序后的字符串数组为:\n");

for(int i = 0;i 4;i ++)

printf("%s\n",str[i]);

}

c语言编程题目及答案

#include stdio.h

#include math.h

void main(void)

{

double a;

double b;

double c;/* 以上三个变量分别对应三边 */

double sin_c;/* c边对应角的正玄值 */

double cos_c;/*c边对应角的余玄值*/

double cos_a;

double area; /* 三角形的面积 */

printf("输入a,b,c:");

scanf("%lf, %lf, %lf", a, b, c);

if(((a+b)c) (a-b)c)

{

printf("三边能够成三角形\n.");

cos_c = (a*a + b*b -c*c)/(2*a*b);

cos_a = (b*b + c*c - a*a)/(2*b*c);

if ((cos_c 0) (cos_a 0))

{

printf("三角形是锐角三角形。\n");

}

else if ((cos_c 0) || (cos_a 0))

{

printf("三角形是钝角三角形\n");

}

else

{

printf("三角形是直角三角形\n");

}

sin_c = sqrt(1- cos_c*cos_c);

area = a*b*sin_c/2;

printf("三角形的面积是%f.\n",area);

}

else

{

printf("三边不能构成三角形\n");

}

}

C语言编程题.答案越简单越好

#include stdio.h

#include stdlib.h

#include string.h

#define true 1

struct student

{

char name[60];

char ID[7];

int score;

};int dq(struct student st[]);

void xianshi();

void bc(struct student st[]);

void add();

void select();

void zz();

void chazhao();

void xhcz();

void xmcz();

void del();

void xmsc();

void xhsc();

void tj();

void bjg();

void xg();

void xhxg();

void xmxg();

void bca();

void fh();

struct student st[300];

int Number=0;

void main()

{

int choose=0;

FILE *fp=NULL;

char yesorno; if((fp=fopen("C://student.dat","rb"))==NULL)

{

printf("\n=========提示:文件不存在,是否要创建一个?(y/n)\n");

scanf("%c",yesorno);

if(yesorno=='y'||yesorno=='Y')

{

fp=fopen("C://student.dat","wb");

fclose(fp);

}

else

exit(0);

}

else

{

Number=dq(st);

}

system("cls");

while(true)

{

xianshi();

printf("\t\t====请选择:");

scanf("%d",choose);

system("cls");

switch(choose)

{

case 0: exit(0);fh();break;

case 1: add();fh();break;

case 2: select();fh();break;

case 3: chazhao();fh();break;

case 4: del();fh();break;

case 5: tj();fh();break;

case 6: bjg();fh();break;

case 7: xg();fh();break;

case 8:zz();fh();break;

case 9:bca();break;

default:break;

}

fflush(stdin);

getchar();

system("cls");

}

} void bca()

{

printf("\t=====程序在运行时已自动保存.....\n");

}void fh()

{

printf("\t===按Enter键返回主菜单\n");

}void xg()

{

int way=0;

printf("请选择修改查找方式\n");

printf("1 按姓名查找修改\n");

printf("2 按学号查找修改\n");

scanf("%d",way);

switch(way)

{

case 1: xmxg();break;

case 2: xhxg();break;

default: printf("输入有误,结束!\n");break;

}

}

void xmxg()

{

FILE *fp=NULL;

char name[60];

int i=0;

int changeIndex=0;

int index=0;

printf("请输入要修改的学生姓名:");

scanf("%s",name);

for (i=0;iNumber;i++)

{

if (strcmp(name,st[i].name))

{

changeIndex=i;

}

break;

}

printf("\t姓名\t学号\t成绩\n");

printf("\t%s\t%s\t%d\n\n",st[changeIndex].name,st[changeIndex].ID,st[changeIndex].score);

printf("请重新输入该学生信息");

printf("姓名:");

scanf("%s",st[changeIndex].name);

printf("学号:");

scanf("%s",st[changeIndex].ID);

printf("成绩:");

scanf("%d",st[changeIndex].score);

fp=fopen("C://student.dat","wb");

for (i=0;iNumber;i++)

{

fwrite(st[i],sizeof(struct student),1,fp);

}

fclose(fp);

}

void xhxg()

{

FILE *fp=NULL;

char id[60];

int i=0;

int changeIndex=0;

int index=0;

printf("请输入要修改的学生学号:");

scanf("%s",id);

for (i=0;iNumber;i++)

{

if (strcmp(id,st[i].ID))

{

changeIndex=i;

}

break;

}

printf("\t姓名\t学号\t成绩\n");

printf("\t%s\t%s\t%d\n\n",st[changeIndex].name,st[changeIndex].ID,st[changeIndex].score);

printf("请重新输入该学生信息");

printf("姓名:");

scanf("%s",st[changeIndex].name);

printf("学号:");

scanf("%s",st[changeIndex].ID);

printf("成绩:");

scanf("%d",st[changeIndex].score);

fp=fopen("C://student.dat","wb");

for (i=0;iNumber;i++)

{

fwrite(st[i],sizeof(struct student),1,fp);

}

fclose(fp);

printf("\t=======修改成功\n");

}void bjg()

{

int i=0;

printf("以下是不及格:\n");

printf("\t姓名\t学号\t成绩\n");

for (i=0;iNumber;i++)

{

if (st[i].score60)

{

printf("\t%s\t%s\t%d\n",st[i].name,st[i].ID,st[i].score);

}

}

}

void tj()

{

int i=0;

double sum=0.0;

for(i=0;iNumber;i++)

{

sum+=st[i].score;

}

printf("全班总分为:%f\n",sum);

printf("平均分为:%f\n",sum/Number);

}

void del()

{

int n=0;

printf("1 按姓名删除\n");

printf("2 按学号删除\n");

scanf("%d",n);

switch(n)

{

case 1: xmsc();break;

case 2: xhsc();break;

}

}

void xmsc()

{

FILE *fp=NULL;

char name[60];

int i=0;

int j=0;

printf("请输入要删除的学生姓名:");

scanf("%s",name);

for(i=0;iNumber;i++)

{

if(strcmp(name,st[i].name)==0)

{

for (j=i;jNumber-1;j++)

{

st[j]=st[j+1];

}

Number--;

}

}

fp=fopen("C://student.dat","wb");

for (i=0;iNumber;i++)

{

fwrite(st[i],sizeof(struct student),1,fp);

}

fclose(fp);

printf("删除成功;\n");

}void xhsc()

{

FILE *fp=NULL;

char id[60];

int i=0;

int j=0;

printf("请输入要删除的学生学号:");

scanf("%s",id);

for(i=0;iNumber;i++)

{

if (strcmp(id,st[i].ID)==0)

{

for (j=i;jNumber-1;j++)

{

st[j]=st[j+1];

}

Number--;

}

}

fp=fopen("C://student.dat","wb");

for (i=0;iNumber;i++)

{

fwrite(st[i],sizeof(struct student),1,fp);

}

fclose(fp);

printf("删除成功;\n");

}void chazhao()

{

int n=0;

printf("1 按姓名查找\n");

printf("2 按学号查找\n");

scanf("%d",n);

switch(n)

{

case 1: xmcz();break;

case 2: xhcz();break;

default: printf("输入有误,结束!\n");

break;

}

}void xhcz()

{

char id[7];

int i=0;

printf("请输入要查找学生学号:");

scanf("%s",id);

system("cls");

printf("\t姓名\t学号\t成绩\n");

for(i=0;iNumber;i++)

{

if (strcmp(id,st[i].ID)==0)

{

printf("\t%s\t%s\t%d\n",st[i].name,st[i].ID,st[i].score);

}

}

}

void xmcz()

{

char name[7];

int i=0;

printf("请输入要查找学生姓名:");

scanf("%s",name);

system("cls");

printf("\t姓名\t学号\t成绩\n");

for (i=0;iNumber;i++)

{

if (strcmp(name,st[i].name)==0)

{

printf("\t%s\t%s\t%d\n",st[i].name,st[i].ID,st[i].score);

}

}

}

void zz()

{

printf("\t**********************************************************\n\n");

printf("\t^^^^^^^^^ 《学生成绩管理系统》 ^^^^^^^^^^\n\n");

printf("\t^^^^^^^^^ 四川省托普信息技术职业学院 ^^^^^^^^^^\n\n");

printf("\t^^^^^^^^^ 09级计算机网络技术IBM2班 ^^^^^^^^^^\n\n");

printf("\t^^^^^^^^^ 周桂修改 ^^^^^^^^^^\n\n");

printf("\t**********************************************************\n\n");

}

void select()

{

int i=0;

printf("以下是全部学生成绩\n");

printf("\t姓名\t学号\t成绩\n");

for(i=0;iNumber;i++)

{

printf("\t%s\t%s\t%d\n",st[i].name,st[i].ID,st[i].score);

}

}

void add()

{

int numberTemp=0;

int i=0;

struct student temp;

printf("请输入要增加学生成绩个数:");

scanf("%d",numberTemp);

for(i=0;inumberTemp;i++)

{

printf("输入第%d个同学信息\n",i+1);

printf("姓名:");

scanf("%s",temp.name);

printf("学号:");

scanf("%s",temp.ID);

printf("成绩:");

scanf("%d",temp.score);

st[Number++]=temp;

bc(temp);

}

printf("添加成功\n");

}

void bc(struct student *st)

{

FILE *fp=NULL;

fp=fopen("C://student.dat","ab+");

fwrite(st,sizeof(struct student),1,fp);

fclose(fp);

}

int dq(struct student st[])

{

FILE *fp=NULL;

int i=0;

fp=fopen("C://student.dat","rb");

while(fread(st[i],sizeof(struct student),1,fp))

i++;

fclose(fp);

return i;

}

void xianshi()

{

printf("\t*****************************************************************\n");

printf("\t* *\n");

printf("\t* 学生成绩管理系统 *\n");

printf("\t* *\n");

printf("\t* [1] 增加学生成绩 [2] 查看学生成绩 *\n");

printf("\t* [3] 查找学生成绩 [4] 删除学生成绩 *\n");

printf("\t* [5] 统计(总成绩和平均分)[6] 输出不及格人数 *\n");

printf("\t* [7] 修改学生信息 [8] 关于作者 *\n");

printf("\t* [9] 保存数据 [0] 退出系统 *\n");

printf("\t*****************************************************************\n");

}

c语言程序设计基础习题答案

1、

10,12,ai=2E

2、

#include

main(){

int

n,sum=0;

scanf

("%d",n);

while(n!=0){

sum=sum+n%10;

n=n/10;

}

printf("sum=%d",sum);}

3、

#include

int

main(){

int

up

=

0,low

=

0;

char

array[100]

=

{0};

gets(array);

for(int

i

=

0;i='a'array[i]='A'array[i]='Z'){

low++;

}

}

printf("大写字母个数:%d,小写字母个数:%d",up,low);

return

0;}

4、

#include

int

main(){

float

score[10]={0};

float

sum

=

0;

int

pass

=

0;

float

ave

=

0;

for(int

i

=

0;i=60){

pass++;

}

}

ave=sum/10.0;

printf("平均分%g\n",sum/10.0);

printf("及格人数%d\n",pass);

printf("高于平均分的分数:\n");

for(int

i

=0;i=ave){

printf("%g\n",score[i]);

}

}

return

0;}

群贤毕至

访客
慵吋猫咚 慵吋猫咚2022-06-28 07:20:08 | 回复 k; default: printf("输入有误,结束!\n"); break; } }void xhcz() { char id[7]; int i=0; printf(
蓝殇抌妤 蓝殇抌妤2022-06-28 09:03:08 | 回复 学号查找\n"); scanf("%d",n); switch(n) { case 1: xmcz();break; case 2: xhcz();break; default: printf("输入
柔侣原野 柔侣原野2022-06-28 06:00:31 | 回复 bValue[32] = {0}; do { bValue[i] = iData%2; iData /= 2; i--; } while (0 != iData); for (int j = 0; j 32; j++) { std::c