C program 学习 上机练习

C program 上机练习

2024222 日       0:01

// Online C compiler to run C program online #include <stdio.h>

int main() {

// Write C code here

//printf("Helloworld\n"); intcno = 99;             //

char cls[99] = "1A";  //字符串

char name[20] = "Chris Wang";

printf("%s is %d\n",cls,cno);

printf("My name is %s\n", name);

printf("Iam learning C programming.\n");

return 0; }

练习2 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。

#include<stdio.h> int main()

{

here:    printf("计算三角形的面积请输入‘1’,立方体的体积和表面积请输入‘2’,圆的面积和周长

请输入‘3’.\n");

int a;

scanf("%d",&a);

if(a==1) {

double l,h,s;

printf("请输入三角形的底边长和所在底边的高."); scanf("%lf%lf",&l,&h);

s=l*h/2;

printf("三角形的面积为%.16f\n",s);

}

else if(a==2) {

printf("请输入立方体的长宽高."); double b,c,d,v,s;

scanf("%lf%lf%lf",&b,&c,&d); v=b*c*d;

s=(b*c+b*d+c*d)*2 ;

分区 第一学期 的第 1

printf("立方体的体积为%.16f,表面积为%.16f\n",v,s);

}

else {

double r,s,c,m;

printf("请输入圆的半径"); scanf("%lf",&r);

m=3.141592653; s=m*r*r;

c=2*m*r;

printf("圆的面积为%.16f,圆的周长为%.16f\n",s,c); }

goto here; }

printf(%d %f %s %c )

 f格式符:用于以小数形式输出实数;

%10.3f:以定点十进制形式显示变量的值,且总共用10个字符,其中,整数位6位, 小数位3位,小数点1位;

如:#include<stdio.h> main()

{

float x;

x=839.21f;

printf(“%10.3f\n”,x); }

 s格式符:用于输出一个字符串。

如:printf(“%s”,”I am a student !”)

练习3

将用户输入的成绩按以下规则转换成等级成绩:

分数: 90~100

分数: 80~89

分数: 70~79

分数: 60~69

分数: 60以下

等级:优

等级:良

等级:中

等级:及格

等级:不及格

# include<stdio.h> main()

{

int d;

printf(“输入分数:”); scanf(“%d”,&d);

if(d>=90 ) printf(“优”);

else if(d>=80) printf(“ ”); else if(d>=70) printf(“ 中”);

else if(d>=60) printf(“ 及格”); else printf(“ 不及格”);

}

练习4

例:求一个整数的绝对值

#include<stdio.h> main()

{

int i,absi;

scanf(“%d”,&i);

absi = i > 0 ? i : -i;

printf(“%d绝对值是%d\n”,i,absi); }

练习5

例:商店卖货物,每一件3.5元,按购买的数量给与优惠: 购买100件,优惠5%;

购买200件以上,优惠6%; 购买300件以上,优惠8%; 购买400件以上,优惠10%; 购买500件以上,优惠15%; #include<stdio.h>

main()

{

int n;

float p,price;  scanf("%d",&n); switch(n/100)

{

case 1:

p=0.05; break;

case 2:

p=0.06; break;

case 3:

p=0.08; break;

case 4:

p=0.10; break;

case 5:

p=0.15; break;

}

price=3.5 * n * (1-p);

printf("%应付款=%7.2f\n",price); }

练习6 :用for 语句编写程序,找出100-200间的所有素数。

#include<stdio.h> int main()

{

inta,i;

for(a=100;a<=200;a++) {

for(i=2;i<a;i++) {

int b;

b=a%i;   if(b==0) {

goto here; }

}

printf("%d  ",a); here:;

}

return 0; }

练习7

计算Fibonacci数列的前20项

Fibonacci数列定义: f(1)=1

f(2)=1

f(n)=f(n-1)+f(n-2)  (n>2)

#include<stdio.h> main()

{

int f[21],i; f[1]=1;

f[2]=1;

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

f[i]=f[i-1]+f[i-2];

for (i=1;i<=20;i++) {

printf("%8d",f[i]);

if(i%5==0)   printf("\n");

} }

//每个数字占8位 //按5个一行输出

练习8

例:将两个2行3列的矩阵相加,并显示结果。

#include<stdio.h> main()

{

int a[2][3]={1,3,5,7,9,11};  int b[2][3]={2,4,6,8,10,12}; int c[2][3],sum=0,i,j;

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

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

//i 表示第1行到第3行 //j 表示第1列到第3列

c[i][j]=a[i][j]+b[i][j]; for(i=0;i<2;i++)

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

printf(“%5d”,c[i][j]);

if((j+1)%3==0) printf(“\n”); }

}

练习9 :字符串    字符串处理函数:

•scanf(“%s”,a);  //以格式符%s输入字符串,输入的字符串自动以 ’\0’结尾;输入的字符 数组名前不加 ”&”前缀;

•printf(“%s”,a);  //以格式符%s输出字符串,输出的字符串以 ’\0’结尾; •gets(a);  //a为字符数组名,输入的字符可以包 ’\0’字符;

•puts(a);  //a为字符数组名,输入的字符可以包含 ’\0’字符; •strcat(字符串1,字符串2); //把字符串2连接到字符串1后;

•strcpy(字符数组1,字符串2);  //把字符串2拷贝到字符数组1中;

如:str为字符数组,将字符常量赋予str: strcpy ( str ,"abcdef");

•strc

mp(字符串1,字符串2);  //比较两个字符串,若相等,则返回0,若字符串1>字符串2,则返回1,

否则返回-1;

如:比较两个字符串str1、str2:if(strcmp(str1,str2)==1) printf("str1>str2"); •strlen(字符数组);  //返回字符数组中包含的字符串的长度;

•strlwr(字符串);  //将字符串的大写字符转换为小写; •strupr(字符串);  //将字符串的小写字符转换为大写;

例:不使用strlen()函数,计算一个字符串的长度

#include<stdio.h> main()

{

int i=0;

char str[30];

printf(“ 输入一个字符串:”); gets(str);

while (str[i]!=’\0’) i++;

printf(“字符串长度为:%d\n”,i); }

例:将一字符串逆转

#include<stdio.h>  #include<string.h> main()

{

char str[20],temp; int i,j;

printf(“输入一个字符串: ”); gets(str);

for(i=0;i<strlen(str)/2;i++)

{

j=strlen(str)-1; temp=str[i];

str[i]=str[j-i]; str[j-i]=temp;

}

printf(“倒置的字符串为:%s\n”,str); }

练习10

~~~~~~~给定程序的功能是:求1+2+3+4+5+6+......+n(n的值由键盘输入)。 include<stdio.h>

main() {

int sumFunc(int n); //define int n,sum;

scanf("%d",&n);

sum = sumFunc(n); //call printf("sum=%d",sum);

}

int sunFunc(int n) {

}

解析:函数fac的功能是计算1-n之间整数的累计和。 int sumFunc(int n)

{

int i,sum;

sum=0;        //累计和的初始值为0 for(i=1;i<=n;i++)

sum = sum + i;   //将1-n之间的整数累加起来

return sum; }

练习11

~~~~~~~~~给定程序的功能是:从键盘输入10个整数,求其中的最小值。 #include "stdio.h"

main() {

int fun(int x[],int n); int a[10],i,min;

printf("please input 10 numbers:\n"); for(i=0;i<10;i++)

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

min=fun(a,10);

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

}

int fun(int x[],int n)

{ }

分区 第一学期 的第 5

解析:比较最小值的一般算法:设置一个变量min,第一步:将第一个数赋予min;第二步:利用 for循环,将剩下的9个数依次与min相比较,每次比较,min均等于小的数;

int fun(int x[],int n) {

int min,i;

min=x[0];  //将第一个数赋予min

for(i=1;i<=n-1;i++)    //将剩下的9个数依次与min比较; if(min>x[i]) min=x[i];

return min; }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值