您的位置:首页 > 编程语言 > C语言/C++

C语言精华代码

2015-11-30 20:57 489 查看
1.

/*接受一位整数。编写一个程序,将该数的每一个数字相加并显示结果*/

#include<stdio.h>

void main()

{

int a,b,c,sum;

printf("\n请输入一个数: ");

scanf("%d",&a);

c=0;

sum=0;

while (a>0)

{

b=a%10;

a=a/10;

c++;

sum=b+sum;

}

printf("这些数拆开相加的结果");

printf("%d\n",sum);

}

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

2.

/*接受用户输入的数值,该值表示某个字符的ASCⅡ码,使用putchar()函数显示该字符*/

#include<stdio.h>

void main()

{

int a;

char b;

printf("请输入一个字母");

scanf("%d",&a);

b=(char)a;

printf("转换之后结果");

putchar(b);

printf("\n");

}

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

3.

/*编写一个C程序,用于打印九九乘法表*/

#include <stdio.h>

void main()

{

int i,j,sum;

for(i=1;i<=9;i++)

{

for(j=1;j<=i;j++)

{

sum=i*j;

printf("%d*%d=%d\t",j,i,sum);

}



printf("\n");

}

}

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

4.

/*输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。*/

#include <stdio.h>

void main()

{

int a,b,c,d;

char i;

a=0;

b=0;

c=0;

d=0;

printf ("\n请输入字符序列:");

while((i = getchar()) != '\n')

{



if ((i>='a'&&i<='z')||(i>='A'&&i<='Z'))

a++;

else if (i>='0'&&i<='9')

b++;

else if (i==' ')

c++;

else

d++;

}

printf ("\n输入中英文字母个数:%d",a);

printf ("\n输入数字的个数:%d",b);

printf ("\n输入空格的个数:%d",c);

printf ("\n输入其他的个数:%d\n",d);

}

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

5.

/*将一个正整数分解因数。例如:输入90,打印出90=2*3*3*5*/

#include <stdio.h>

void main()

{

int a,b;

printf("\n请输入一个数:\n");

scanf("%d",&a);

printf("%d=",a);

for(b=2;b<=a;b++)

{

while(a!=b)

{

if(a%b==0)

{

printf("%d*",b);

a=a/b;

}

else

b=b+1;

}

printf("%d\n",a);

}

}

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

6.

/*编写一个程序,根据输入某班级学员的成绩,计算该班级学员的平均成绩。

班级的人数要求用户输入。根据输入的人数,分别录入学员的成绩。

计算该班级学员的平均成绩,并显示计算结果。最后询问用户是否继续,

直到用户自己确定要结束程序退出.*/

#include<stdio.h>

void main()

{

int a,n,i,sum,score; //a是班级号,n是学员总数,score是成绩,sum是总成绩,i几号的成绩

char e;

do

{

printf("请输入班级号:");

scanf("%d",&a);

printf("请输入该班级的学员号总数:");

scanf("%d",&n);

i=1;sum=0;

while (i<=n)

{

printf("请输入学号%d的成绩: ",i);

scanf("%d",&score);

sum=sum+score;

i++;

}

printf("该班级学员的平均成绩为: %f",(float) sum/n);

printf("是否输入另一个班级的成绩<Y/N>?\n");

fflush(stdin);

e=getchar();

}while(e=='y'||e=='Y');

}

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

7.

/*编写一个程序,最多接受10个数,并求出其中所有正数的和。

用户可以通过输入999终止程序,统计用户输入的正

数的个数,并且显示这些数的和*/

#include<stdio.h>

void main()

{

int a,b,c;

b=0;

printf("\n 请输入10个数,或者输入999中止输入.\n");

for(c=0;c<10;c++)

{

scanf("%d",&a);

if(a==999)

{

break;

}

else if(a<=0)

{

continue;

}

else

b=b+a;

}

printf("这 %d 个数的和是: %d\n",c,b);

}

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

8.

/*编写一个程序,用于生成如图所示的输出结果,

要求根据用户输入的一个整数,输出一个数字组成

的图案。

请输入一个数:5

55555

4444

333

22

1

1

22

333

4444

55555

Press any key to continue

*/

#include<stdio.h>

void main()

{

int a,i,j;

printf("请输入一个数: ");

scanf("%d",&a);

for(i=a;i>=1;i--)

{

for(j=1;j<=i;j++)

printf("%d",i);

printf("\n");

}

printf("\n");

for(i=1;i<=a;i++)

{

for(j=1;j<=i;j++)

printf("%d",i);

printf("\n");

}

}

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

9.

/*编写一个程序,打印如下图案:

A

BBB

CCCCC

DDDDDDD

EEEEEEEEE

FFFFFFFFFFF

GGGGGGGGGGGGG

*/

#include <stdio.h>

void main()

{

int i,j,k;

char ch='A';

for(i=1;i<=7;i++)

{

for(j=1;j<=7-i;j++)

printf(" ");

for(k=1;k<=2*i-1;k++)

printf("%c",ch);

ch=ch+1;

printf("\n");

}

}

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

10.

/*求一个3*3矩形阵对角线元素之和*/

#include <stdio.h>

void main()

{

float a[3][3],sum=0;

int i,j;

printf("请输入一组数:\n");

for(i=0;i<3;i++)

for(j=0;j<3;j++)

scanf("%f",&a[i][j]);

for(i=0;i<3;i++)

sum=sum+a[i][i];

printf("角线元素之和为:\n%6.2f",sum);

}

11.

/*编写一个录入函数:用来从键盘接受n 个整型数并存放在一个整型数组中,

在主函数中调用该函数计算出这n 个整数之和*/

#include <stdio.h>

void fun(int a[],int n);

void main()

{

int n,i,b[100],sum=0;

printf("输入n:");

scanf("%d",&n);

fun(b,n);

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

sum+=b[i];

printf("sum=%d\n",sum);

}

void fun(int a[],int n)

{

int i;

printf("输入%d个数:",n);

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

scanf("%d",&a[i]);

}

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

12.

/*.目前人民币共有以下几种面值(不包括角和):

1元 2元 5元 10元 20元 50元 100元

编写一个函数计算金额"X"需要多少张面值为n 元的纸币。

在主函数中输入一个金额值,调用该函数。

计算组成该金额最少需要多少张纸币*/

#include <stdio.h>

int denom (int *s,int c)

{

return (*s) / c; //被调用的函数

}

void main()

{

int sum,temp,notes;

notes=0;

printf("\n 请输入金额:");

scanf("%d", &sum);

temp = sum;

notes=denom (&sum,100);

sum = sum % 100; //大于100的除以100比较多出来多少

notes=notes+denom (&sum,50);

sum = sum % 50; //大于50的除以50比较多出来多少

notes=notes+denom (&sum,20);

sum = sum % 20; //大于20的除以20比较多出来多少

notes=notes+denom (&sum,10);

sum = sum % 10; //大于10的除以10多出来多少

notes=notes+denom (&sum,5);

sum = sum % 5; //大于5的除以5多出来多少

notes=notes+denom (&sum,2);

sum = sum % 2; //大于2的除以2多出来多少

notes=notes+sum;

printf("\n 合计 %d 元将需要 %d 张纸币。",temp, notes);

printf("\n ");

}

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

13.

/*编写一个程序,用于产生20个0~10之间的随机数,将这20个随机数存入数组,

并通过函数统计这些随机数中某个数出现的次数*/

#include<stdlib.h>

#include<stdio.h>

#include<time.h> //保证输出的随机数字都不一样 不能省略

int count(int num[20],int number);

void main()

{

int arr[20];

int num,total;

int i;

printf("产生20个0~10之间的随机数序列:\n");

srand((unsigned)time(NULL)); //与前面相匹配 不能省略

for(i=0; i<20; i++)

{

arr[i]=rand() % 10;

printf("%d ", arr[i]);

}

printf("\n\n 请输入要搜索的数:");

scanf("%d",&num);

total = count(arr,num);

printf("\n 随机数序列中 %d 出现了 %d 次\n",num,total);

}

int count(int num[20], int number)

{

int i,n=0;

for(i=0;i<20;i++)

{

if(num[i] == number)

n++;

}

return n;

}

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

14.

/*编写一个程序,用于求m的n次幂。m 和n 由用户输入,

调用自定义的求m 的n 次幂的函数,并输出计算结果*/

#include<stdio.h>

int power(int m,int n);

int m,n,a=1;

void main()

{

printf("输入m的n次幂\n");

scanf("%d%d",&m,&n);

a=power(m,n);

printf("%d\n",a);

}

int power(int m,int n)

{

int i;

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

a=a*m;

return a;

}

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

15.

/*编写一个程序,使用函数统计一串字符中的小写字母的个数,

该函数参数为一个字符数组,返回值为小写字母的个数,

在主函数中从键盘接受一串字符,并调用统计函数求出小写

字母的个数,然后输出。*/

#include<stdio.h>

int count(char s[],int n)

{

int i,count=0;

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

{

if((s[i]>='a')&&(s[i]<='z'))

count++;

}

return count;

}

void main()

{

int n,c;

char s[100],ch;

n=0;

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

while ((ch=getchar())!='\n') //以回车作为结束的标志

{

s
=ch;

n++;

}

fflush(stdin);

printf("输入字符的个数为:%d个\n",n);

c=count(s,n);

printf("小写字母的个数为:%d个\n",c);

}

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

16.

/*编写一个程序,从键盘输入X,Y,Z3个数,

编写函数计算3个数的立方和并返回计算结果*/

#include <stdio.h>

#include <math.h>

void main()

{

int x,y,z;

double sum;

scanf("%d%d%d",&x,&y,&z);

sum=pow(x,3)+pow(y,3)+pow(z,3);

printf("%lf",sum);

}

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

//第二种解法

#include <stdio.h>

int abc(int,int,int);

void main()

{

int x,y,z,s;

printf("请输入三个数: ");

scanf("%d%d%d",&x,&y,&z);

s=abc(x,y,z);

printf("立方和为: %d\n",s);

}

int abc (int a,int b,int c)

{

int sum;

sum=a*a*a+b*b*b+c*c*c;

return sum;

}

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

17.

/*编写一个函数,用于接受3到10之间的一个数,

然后输出由星号组成的矩形

例如为4

****

* *

* *

****

*/

#include <stdio.h>

void temp();

void main()

{

sb();

}

void temp()

{

int i,j,k,num;

printf("请输入3-10之间的数:");

scanf("%d",&num);

for(i=0;i<num;i++)

printf("*");

printf("\n");

for(j=0;j<num-2;j++)

{

printf("*");

for(k=0;k<num-2;k++)

printf(" ");

printf("*");

printf("\n");

}

for(i=0;i<num;i++)

printf("*");

printf("\n");

}

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

18.

/*编写三个函数分别完成一个十进制整数到二进制的转换,

十进制整数到八进制的转换,

十进制整数到十六进制的转换。在main 函数中,

根据用户的选择调用相应的函数完成进制转换。

用户可以重复选择功能,直到输入0退出*/

#include <stdio.h>

void a();

void b();

void c();

void main()

{

int n;

do

{

printf("\n0.退出 1.十进制~二进制 2.十进制~八进制 3.十进制~十六进制\n");

printf("请选择功能:");

scanf("%d",&n);

if(n==0)

break;

switch(n)

{

case 1:a();

break;

case 2:b();

break;

case 3:c();

break;

default:printf("输入有误,请在1-4之间选择\n");

}

}while(1);

}

void a()

{

int num, p[100],i=0,count;

printf("请输入一个十进制数:");

scanf("%d",&num);

for(count=0;;count++)

{

if(num==0)

break;

p[count]=num%2;

num=num/2;

i++;

}

printf("转换为二进制:");

for(count=i-1;count>=0;count--)

printf("%d",p[count]);

printf("\n");

}

void b()

{

int num, p[100],i=0,count;

printf("请输入一个十进制数:");

scanf("%d",&num);

for(count=0;;count++)

{

if(num==0)

break;

p[count]=num%8;

num=num/8;

i++;

}

printf("转换为八进制:");

for(count=i-1;count>=0;count--)

printf("%d",p[count]);

printf("\n");

}

void c()

{

int num, p[100],i=0,count;

printf("请输入一个十进制数:");

scanf("%d",&num);

for(count=0;;count++)

{

if(num==0)

break;

p[count]=num%16;

num=num/16;

i++;

switch(p[count])

{

case 10:p[count]='A';

break;

case 11:p[count]='B';

break;

case 12:p[count]='C';

break;

case 13:p[count]='D';

break;

case 14:p[count]='E';

break;

case 15:p[count]='F';

break;

}

}

printf("转换为十六进制:");

for(count=i-1;count>=0;count--)

{

if(p[count]<10)

printf("%d",p[count]);

if(p[count]>=10)

printf("%c",p[count]);

}

printf("\n");

}

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

19.

/*求1!+2!+3!+....+10!*/

#include <stdio.h>

void main()

{

int n,f,sum;

f=1;sum=0;

for(n=1;n<=10;n++)

{

f=f*n;

sum=sum+f;

}

printf("和为=%d\n",sum);

}

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

20.

/*打印如下表格*/

/*乘法表:

X: 1 2 3 4 5 6 7 8 9 10

-+----------------------------------------

1: 1 2 3 4 5 6 7 8 9 10

2: 2 4 6 8 10 12 14 16 18 20

3: 3 6 9 12 15 18 21 24 27 30

4: 4 8 12 16 20 24 28 32 36 40

5: 5 10 15 20 25 30 35 40 45 50

6: 6 12 18 24 30 36 42 48 54 60

7: 7 14 21 28 35 42 49 56 63 70

8: 8 16 24 32 40 48 56 64 72 80

9: 9 18 27 36 45 54 63 72 81 90

10: 10 20 30 40 50 60 70 80 90 100

*/

#include <stdio.h>

void main()

{

int i,k;

printf("乘法表: \n");

printf("X: 1 2 3 4 5 6 7 8 9 10\n");

printf("-+----------------------------------------\n");

for(i=1;i<=10;i++)

{

printf("%d:",i);

for(k=1;k<=10;k++)

printf("%4d",k*i);

printf("\n");

}

}

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

21.

/*输入五个字 ,进行左右数字掉换*/

#include <stdio.h>

void main()

{

int a[5],i,j,temp;

j=0;

printf("请输入五个数");

for (i=0;i<5;i++)

{

j++;

scanf("%d",&a[i]);

}

printf("原始数组:\n");

for(i=0;i<j;i++)

{

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

}

printf("\n");

printf("左右掉换后的结果:\n");

for(i=0;i<2;i++) //掉换数字

{

temp=a[i];

a[i]=a[5-i-1];

a[5-i-1]=temp;



}

for(i=0;i<5;i++)

{

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

}

printf("\n");

}

打印九九乘法表

#include<stdio.h>

main()

{

int i=1,j=1;

while(i<=9)

{

j=1;

while (j<=i)

{

printf("%d*%d=%-4d",i,j,i*j);

j++;

}

printf("\n");

i++;

}

}

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

输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数

#include <stdio.h>

void main()

{

int a,b,c,d;

char i;

a=b=c=d=0;

printf ("\n请输入字符序列:");

while((i = getchar()) != '\n')

{



if ((i>=65&&i<=90)||(i>=97&&i<=122))

a++;

else if (i>=48&&i<=57)

b++;

else if (i==32)

c++;

else

d++;

}

printf ("\n输入中英文字母个数:%d",a);

printf ("\n输入数字的个数:%d",b);

printf ("\n输入空格的个数:%d",c);

printf ("\n输入其他的个数:%d\n",d);

}

产生斐波那契数列的10个数(1 1 2 3 5 8 13 ......)

#include <stdio.h>

void main()

{

int a,b,s,c; //a和b为出始值, s为输出的个数

a=1;b=1;

for(s=1;s<=10;s++) // 一共输出十个数

{

c=a+b;

printf("%d ",a);

a=b;

b=c;

}

printf("\n");

}

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

求1到10阶乘的和

#include <stdio.h>

void main()

{

int n,f,sum;

f=1;sum=0;

for(n=1;n<=10;n++)

{

f=f*n;

sum=sum+f;

}

printf("和为=%d\n",sum);

}

以表格的格式显示1到10的乘法表

#include <stdio.h>

void main()

{

int i,k;

printf("乘法表: \n");

printf("X: 1 2 3 4 5 6 7 8 9 10\n");

printf("-+----------------------------------------\n");

for(i=1;i<=10;i++)

{

printf("%d:",i);

for(k=1;k<=10;k++)

printf("%4d",k*i);

printf("\n");

}

}

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

根据输入某个班级学员的成绩,计算该班学员的平均成绩,班

级学员要求用户输入。最后询问是否要继续。

#include <stdio.h>

void main()

{

int a,n,score,i,sum;

char flog;

while (flog=='y');

{

printf("请输入班级号:");

scanf("%d",&a);

printf("请输入该班级的学员号总数:");

scanf("%d",&n);

i=1;sum=0;

while (i<=n)

{

printf("请输入学号%d的成绩: ",i);

scanf("%d",&score);

sum=sum+score;

i++;

}

printf("该班级学员的平均成绩为: %f",(float) sum/n);

printf("\n是否输入另一个班的成绩(y/n) ");

fflush(stdin);

scanf("%c",&flog);

}

}

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

C语言第十章家庭作业

Hw10_1题目:

编写分别实现如下功能的各个函数;编写一个程序调用这些功能。

定义一个大小为8的数组,实现以下功能:

a) 动态实现数组元素的录入

b) 实现数组元素的输出

c) 比较数组元素的最大值

d) 比较数组元素的最小值

e) 求数组元素的平均值

f) 将数据元素实现排序

g) 用户输入一元素,查找在数组中出现的次数

h) 在数组中插入一元素,并保持数组仍然有序

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

Phw152_1题目:

编写一个程序,从键盘输入X、Y、Z3个数,编写函数计算3个数的立方

和并返回计算结果:S=X3+Y3+Z3

#include <stdio.h>

int pengwei_lifang(); //定义函数

void main()

{

int x,y,z; //定义x,y,z变量 分别为3个数

int jieguo; //定义jieguo变量为结果

x=pengwei_lifang(); //套用函数公式求立方

y=pengwei_lifang();

z=pengwei_lifang();

jieguo=x+y+z; //求和公式

printf("这三个数立方的和为:%d\n",jieguo);//打印结果

}

int pengwei_lifang()//此函数用于求公式

{

int a;//定义一个变量

printf("请输入要求立方的数为:");//提示信息

scanf("%d",&a);//取值

a=a*a*a;//立方公式

return a;//返回值

}

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

Phw152_2题目:

编写一个程序,使用函数统计一串字符中小写字母的个数,该函数参数为一个字符数组,

返回值为小写字母的个数。在主函数中从键盘接收一串字符,并调用统计函数

求出小写字母的个数,然后输出。

#include <stdio.h>

#define N 10

int pengwei_qiushu(char c
);//自定义函数

void main()

{

int i,j; //定义变量

char a
;//定义字符变量

printf("请输入字符串:"); //提示信息

for(i=0;i<N;i++)//循环输入

{

scanf(" %c",&a[i]);

}

j=pengwei_qiushu(a); //调用函数

printf("小写字母的个数为:%d\n",j);//打印输出结果

}

int pengwei_qiushu(char c
) //自定义函数

{

int i,j=0;

for(i=0;i<N;i++) //循环比较

{

if(c[i]>'a' &&c [i]<'z') //比较公式

j++;

}

return j; //返回值 j

}

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

Phw240_1题目:

目前人民币共有以下几种面值(不包括角和分):

1元、2元、5元、10元、20元、50元、100元

编写一个函数计算金额“X”需要多少张面值为n元的纸币。在主

函数中输入一个金额值,调用该函数,计算组成该金额最少需要多少纸币。

#include <stdio.h>

void pengwei_qianqian(int a);//自定义函数

void main()

{

int a;//定义变量作为金额

printf("请输入金额: ");//信息提示

scanf("%d",&a);//输入(金额)

pengwei_qianqian(a);//套用函数

}

void pengwei_qianqian(int a)//定义函数

{

int b=0;//定义临时变量

if(a>=100)

{

b=a%100;//求余数

a=a/100;//求需要100元的张数

printf("你需要 %d 张100元\n",a);//打印结果

a=b; //然后b赋值给a 继续比较

}

if(a>=50)

{

b=a%50;//求余数

a=a/50;//求需要50元的张数

printf("你需要 %d 张50元\n",a);

a=b;//然后b赋值给a 继续比较

}

if(a<50 && a>=20)

{

b=a%20;//求余数

a=a/20;//求需要20元的张数

printf("你需要 %d 张20元\n",a);

a=b;//然后b赋值给a 继续比较

}

if(a<=19 && a>=10)

{

b=a%10;//求余数

a=a/10;//求需要10元的张数

printf("你需要 %d 张10元\n",a);

a=b;//然后b赋值给a 继续比较

}

if(a<=9 && a>=5)

{

b=a%5;//求余数

a=a/5;//求需要5元的张数

printf("你需要 %d 张5元\n",a);

a=b;//然后b赋值给a 继续比较

}

if(a<=4 && a>=2)

{

b=a%2;//求余数

a=a/2;//求需要2元的张数

printf("你需要 %d 张2元\n",a);

a=b;//然后b赋值给a 继续比较

}

if(a>=1)

{

b=a%1;//求余数

a=a/1;//求需要1元的张数

printf("你需要 %d 张1元\n",a);

}



}

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

Phw241_2题目:

编写一个录入函数:用来从键盘接收n个整型数并存放在一个整型数组中。

在主函数中调用该函数计算出这n个整数之和。

提示:录入函数需要两个参数:一个参数是需要用来存储数字的数组

,另一个参数是录入数的总数。

#include <stdio.h>

void pengwei_sun(int a[],int n);//定义一个输入数组的元素

void main()

{

int n,i,b[100],sum=0;

printf("输入你想相加多少数:");//提示信息

scanf("%d",&n);//输入

pengwei_sun(b,n);//套用函数

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

{

sum+=b[i];//求和公式

}

/*控制数组滴大小,并求和*/

printf("和为:%d\n",sum);//输出结果

}

void pengwei_sun(int a[],int n)//此函数用来输入数组的数

{

int i;//定义变量i作为临时储存输入滴元素

printf("输入%d个数:",n);

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

{

scanf("%d",&a[i]);//循环输入元素

}

}

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

C语言第七章家庭作业

Hw7_1题目:

有一个3×4的矩阵,求所有元素中的最大值。

#include <stdio.h>

void main()

{

int i,j,a[3][4]; //定义变量

int max;

printf("请输入该数组元素:\n"); //提示信息

for(i=0;i<3;i++) //for循环,条件判断

{

for(j=0;j<4;j++) //for循环,条件判断

{

scanf("%d\t",&a[i][j]); //按照提示信息按照要求输入

}

}



for(i=0;i<3;i++) //for循环,条件判断

{

for(j=0;j<4;j++) //for循环,条件判断

{

if(max<a[i][j]) //比较大小过程

max=a[i][j];

}

}

printf("\n最大值为:%3d\n",max); //最后输入并打印

}

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

Hw7_2题目:

从键盘上输入一串字符,放入到数组中,把它按照正序及逆序分别输出

#include <stdio.h>

void main()

{

char i,j,a[3][3]; //定义变量,

for(i=0;i<3;i++) //for循环(条件循环比较)

{

printf("请输入%d组数各元素:\n",i+1);//输出的提示

for(j=0;j<3;j++) //for循环(条件循环比较)

{

scanf(" %c",&a[i][j]);//按以上提示输入

fflush(stdin); //清空键盘缓存

}

}

printf("刚才输入的数组正序为:\n"); //输出的提示

for(i=0;i<3;i++) //for循环(因此排列输入数)

for(j=0;j<3;j++)

{

printf("%-5c",a[i][j]);//输出(打印输入后结果)

}

printf("\n刚才输入的数组反序为:\n");

for(i=2;i>=0;i--) //for循环(条件循环比较依次从后排列)

for(j=2;j>=0;j--)

{

printf("%-5c",a[i][j]);//输出(打印改变后结果)

}

}

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

Hw7_3题目:

用户输入一组数据,直到输入回车结束,且把数据放入数组中。要求:

先对数组进行冒泡排序,输出结果;再提示用户”是否插入数据”,

若要插入数据,则把插入的数据插入到数组中,且仍按顺序输出;

最后求出最大值,和最小值,输出

#include <stdio.h> //预处理语句

#define N 5 //定义一个符号常量

void main() //主函数

{

int i,j,a[N+1]; //声明一个一维数组

int d,s,max,min; //程序所需变量声明

char ss='y'; //用于是否结束程序的变量

printf("请为数组输入数据\n");

for (i=0;i<N;i++) //给数组输入数据

{

scanf("%d",&a[i]);

}

for (i=0;i<N;i++) //控制外部循环次数

{

for (j=0;j<N-i-1;j++) //控制内部循环次数

{

if (a[j]>a[j+1])

{ //交换元素

d=a[j+1];

a[j+1]=a[j];

a[j]=d;

}

}

}

printf("升序输出数组的值:");

//把数组按升序显示输出

for (i=0;i<N;i++)

{

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

}

printf("\n");

printf("\n你是否想插入一个数据?(y/n)"); //输入提示

fflush(stdin); //清空键盘缓存

ss=getchar(); //从键盘上接收一个字符

if (ss=='y'|| ss=='Y') //判断是否继续执行程序

{

printf("\n请输入一个想要插入的数:"); //输入提示

scanf("%d",&s); //输入语句

for (i=0;i<N;i++) //查找第一个大于要插入数的位置

{

if(a[i]>s)

{

break;

}

}

for (j=N;j>i;j--) //为插入的数留出位置

{

a[j]=a[j-1];

}

a[i]=s; //把插入的数放到数组中

printf("\n插入后的数组元素:\n");

for (i=0;i<N+1;i++)

{

printf("%d\t\n",a[i]); //显示插入后的数组元素

}

max=a[0]; //最大值初始化

min=a[0]; //最小值初始化

for (i=1;i<N+1;i++) //B控制循环次数

{

//判断最大值

if (max<a[i])

{

max=a[i];

}

//判断最小值

if (min>a[i])

{

min=a[i];

}

}

printf("最大值为:%d\n",max); //输出最大值

printf("最小值为:%d\n",min); //输出最小值

}

else

{

printf("程序结束!\n");

}

}

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

C语言第三章家庭作业

Hw3_1题目

从键盘输入一个字符,判断它是否为数字

#include <stdio.h>

void main()

{

char a;

printf("\n请输入一个字符:");

scanf("%c",&a);

if(a>='0' && a<='9')

{

printf("你输入的字符为数字");

}

else

{

printf("你输入的字符不为数字\n");

}

}

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

Hw3_2题目

在邮政系统中,收费是这样规定的,当邮包重量<=10公斤时,按每公斤0.25元收费;如果超过10公斤时,超过部分按0.34元收费,其余部分按0.25元收费。

现要求用户输入邮包重量,请输出应付的邮资。

#include <stdio.h>

void main()

{

float a,b;

printf("\n请输入邮包总量:");

scanf("%f",&a);

if(a<=10)

{

b=a*0.25;

}

if(a>10)

{

b=10*0.25+(a-10)*0.34;

}

printf("你应该支付的邮资为:%.2f",b);

}

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

C语言第四章家庭作业

Phw68_1题目

某商场打折促销商品中,购买某种商品根据购买数量(x)给予不同的折扣,根据用户输入的数

量及该商品的单价,输出用户应付的金额。折扣信息表如下:

数 量 折扣率

x<5 不折扣

5≤x<10 1%

10≤x<20 2%

20≤x<30 4%

30≤x 6%

Phw55_2题目

编写一个程序,要求实现用户在输入今天星期几(1~7)时,显示当天食谱的内容。食谱如下:

星 期 食 谱

一 青菜

二 鸡

三 鱼

四 肉

五 鸡蛋

六 豆制品

日 海鲜

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

Hw4_1题目

聚会时规定:男生,超过18岁可以喝酒,没有超过18岁时,喝饮料;

女生,超过20岁时,可以喝酒,没有超过20岁时,喝饮料;

请输入学生性别和学生的年龄,并根据输入的情况来判断喝什么!

#include <stdio.h>

void main()

{

char a;

int b;

printf("\n 请输入你的年龄:");

scanf("%d",&b);

printf("\n 请输入您的性别(n/v):");

scanf(" %c",&a);

if (a=='n' && b>18)

{

printf("该男生可以喝酒");

}

else if(a=='v' && b>20)

{

printf("该女生可以喝酒");

}

else

{

printf("该同学只能喝饮料");

}

}

Hw4_2题目

北大青鸟要求:在推荐就业时,按以下几个标准来衡量

1):项目个数在5个以内:不能推荐就业

2):项目个数在6到10个以内:只能推荐重庆市内的小公司

3):项目个数在11到20个以内:可以推荐重庆市内的任何公司

4):项目个数在20个以上:可能进外企

#include <stdio.h>

void main()

{

int a;

printf("\n 请输入您的项目数:");

scanf("%d",&a);

if(a<=5)

{

printf("对不请,你不能推荐就业!!");

}

else if(a>=6 && a<=10)

{

printf("只能推荐到重庆的小公司!!");

}

else if(a>=11 && a<=20)

{

printf("恭喜你!!你可以选择重庆的所以有公司");

}

else if(a>=20)

{

printf("哇!!你可以进外资企业了");

}

else

{

printf("输入错误!!");

}

}

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

C语言第六章家庭作业

Hw6_1题目:

求1-1000中能被7或能被11,但不能同时被7和11整除的数。每10个为一行显示。

#include <stdio.h>

void main()

{

int a,b=0; //定义变量

for(a=1;a<=1000;a++) //判断A这个变量如果为真将执行下面的循环

{

if((a%7!=0&&a%11==0)||(a%11!=0&&a%7==0)) //计算公式

{

printf("%4d",a); //打印输出

b++;

if(b%10==0) // 控制每行输入10个

{

printf("\n"); //换行

}

}

}

printf("\n"); //换行

}

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

Hw6_2题目:

有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

#include <stdio.h>

void main()

{

int a,b,c; //定义3个变量

for(a=1;a<=4;a++)//先循环(FOR语句是先循环在判断)

for(b=1;b<=4;b++)

for(c=1;c<=4;c++)

{

if(a!=b&&a!=c&&b!=c)//判断为真就继续循环,为假是执行以下语句

{

printf("%d%d%d\t",a,b,c);// 打印输出

}

}

}

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

两个数组的连接

#include <stdio.h>

#define N 7

#define M 14

void main()

{

char a
,b
,c[M];

char *x,*y,*z;

printf("\n请输入字符");

scanf("%s",a);

x=a;

printf("\n请输入字符");

scanf("%s",b);

y=b;

z=c;

while(*x!='\0')

{

*z=*x;

z++;

x++;

}

while(*y!='\0')

{

*z=*y;

z++;

y++;

}

*z='\0';

z=c;

while(*z!='\0')

{

printf("%c",*z);

z++;

}

printf("\n");

}

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

当选班长

#include <stdio.h>

#define MAX 50

void main()

{

int i,k,m,n,num[MAX],*p;

printf("请输入总人数:");

scanf("%d",&n);

p=num;//指向数组的指针

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

*(p+i)=i+1;//为数组的元素赋值为n个人的编号1~n

i=0;//控制指针偏移

k=0;//报数计算器1~3

m=0;//退出人数计算器

while(m<n-1)

{

if(*(p+i)!=0)//开始报数,只要编号不等于0 则报数计算器加1

k++;

if(k==3)//报数到(等于)3时候

{

*(p+i)=0;//将该人的编号设置为0 表示该人退出

k=0;//报数器设置为0

m++;//每退出一个人 计算器则+1

}

i++;//指针移动到下一个元素

if(i==n)//则到了n个人。则从第一个人开始

i=0;

}

while(*p==0)//检查编号不为0的人 则最后留下来

p++;

printf("编号为%d的学员被当选班长",*p);

}

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

输入一串字符,统计大大写字母的个数,并强调统计必须用函数

#include <stdio.h>

#include <string.h>//字符头文件

int capcount(char *s);//自定函数(求大写字母个数计算公式)

void main()

{

char str[50];//定义一个数组变量

printf("请输入一串字符:\n");//信息提示

gets(str);//输入

printf("大写字符个数为:%d\n",capcount(str));//输出最后结果

}

int capcount (char *s)//自定函数(求大写字母个数计算公式)

{

int cap=0;//定义一个临时变量储存大写字母个数

while(*s!='\0')//是否等于空字符

{

if(*s>=65 && *s<=90)//不等于空字符 然后查找这写字符



cap++;//查找到一个加1



s++;//比较一次指针像后移动

}

return(cap);//返回一个值

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

输入几个国家名,并将它们排序(字符串)

#include <stdio.h>

#include <string.h>

#define N 5

void main()

{

char string
[20],dummy[20];

int i,j;

printf("\n请输入5国家(地区)的名称\n");

for(i=0;i<N;i++)

{

gets(string[i]);

}

for(i=1;i<N;i++)

{

for(j=1;j<=N-i;j++)

{

if(strcmp(string[j-1],string[j])>0)

{

strcpy(dummy,string[j-1]);

strcpy(string[j-1],string[j]);

strcpy(string[j],dummy);

}

}

}



printf("按照字母排序如下:\n");

for(i=0;i<N;i++)

{

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

}

}

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

编写一个程序用于创建一格结构BOOK,用来储存书的信息:书名,作者姓名,页数, *(结构)

*和价格,接受输入和输出

#include <stdio.h>

#include <string.h>

/*自定BOOK结构*/

struct book

{

char name[50];

/*定义数组变量--用来存储书名*/

char author[25];

/*定义数组变量--用来存储作者*/

int pages;

/*定义整型变量--用来存储页数*/

float price;

/*定义符典型变量--用来存储价格*/

};

void main()

{

struct book b1;

/*结构变量*/

printf("\n\t请输入书的详细信息:\n");

printf("\n书名:");

gets(b1.name);

/*以上为:提示信息及输入*/

printf("\n作者:");

gets(b1.author);

/*以上为:提示信息及输入*/

printf("\n页数:");

scanf("%d",&b1.pages);

/*以上为:提示信息及输入*/

printf("\n价格:");

scanf("%f",&b1.price);

/*以上为:提示信息及输入*/

printf("\n\n\n\n\t书的详细信息");

/*以上为:提示信息*/

printf("\n书名:%s",b1.name);

/*打印结果*/

printf("\n作者:%s",b1.author);

/*打印结果*/

printf("\n页数:%d",b1.pages);

/*打印结果*/

printf("\n价格(RMB): %5.2f元\n\n\n\n\n",b1.price);

/*打印结果*/

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: