C语言学习路程
最编程
2024-05-05 18:11:34
...
C语言学习路程
hello world
#include<stdio.h>
int main()
{
printf("hello world");
return 0;
}
if-else
判断成绩归类
#include <stdio.h>
int main() {
int score ;
printf("enter a score: ");
scanf("%d", &score);
if (score >= 90) {
printf("优秀\n");
}
else if (score >= 80) {
printf("良好\n");
}
else if (score >= 70) {
printf("中等\n");
}
else if (score >= 60) {
printf("及格\n");
}
else {
printf("不及格\n");
}
return 0;
}
判断最大值
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d %d %d", &a,&b,&c);
int max=0;
if(a>b){
if(a>c){
max=a;
}
else {max=c;
}
}
else {
if(b>c){
max=b;
}
else{max=c;
}
}
printf("最大的数为%d\n",max);
return 0;
}
判断大小写
#include<stdio.h>
int main(void)
{
char ch;
printf("enter a letter:");
scanf("%c", &ch);
if(ch >= 'A' && ch <= 'Z')
printf("%c", ch+32);
else if(ch >= 'a' && ch <= 'z')
printf("%c", ch-32);
else
printf("Not a letter!\n");
return 0;
}
三个数字从小到大排序
#include <stdio.h>
int main() {
int a, b, c;
printf("请输入三个整数:\n");
scanf("%d %d %d", &a, &b, &c);
if (a >= b && a >= c) {
if (b >= c) {
printf("从小到大的顺序输出:%d %d %d\n", c, b, a);
}
else {
printf("从小到大的顺序输出:%d %d %d\n", b, c, a);
}
}
else if (b >= a && b >= c) {
if (a >= c) {
printf("从小到大的顺序输出:%d %d %d\n", c, a, b);
}
else {
printf("从小到大的顺序输出:%d %d %d\n", a, c, b);
}
}
else {
if (a >= b) {
printf("从小到大的顺序输出:%d %d %d\n", b, a, c);
}
else {
printf("从小到大的顺序输出:%d %d %d\n", a, b, c);
}
}
return 0;
}
switch
判断成绩归类
#include <stdio.h>
int main() {
char grade;
printf("请输入学生成绩等级:");
scanf("%c", &grade);
switch (grade) {
case 'A':
printf("分数范围:90-100\n");
break;
case 'B':
printf("分数范围:80-89\n");
break;
case 'C':
printf("分数范围:70-79\n");
break;
case 'D':
printf("分数范围:60-69\n");
break;
case 'E':
printf("分数范围:0-59\n");
break;
default:
printf("等级错误!\n");
break;
}
return 0;
}
加减乘除
#include <stdio.h>
int main() {
char op;
int num1, num2;
int result;
printf("请输入运算符:");
scanf("%c", &op);
printf("请输入两个整数:");
scanf("%d%d", &num1, &num2);
switch(op) {
case '+':
result = num1 + num2;
printf("运算结果:%d\n", result);
break;
case '-':
result = num1 - num2;
printf("运算结果:%d\n", result);
break;
case '*':
result = num1 * num2;
printf("运算结果:%d\n", result);
break;
case '/':
if (num2 != 0) {
result = num1 / num2;
printf("运算结果:%d\n", result);
} else {
printf("错误:除数不能为0!\n");
}
break;
case '%':
if (num2 != 0) {
result = num1 % num2;
printf("运算结果:%d\n", result);
} else {
printf("错误:除数不能为0!\n");
}
break;
default:
printf("错误:无效的运算符!\n");
}
return 0;
}
判断字符
#include <stdio.h>
int main() {
char c;
printf("请输入一个字符:");
scanf("%c", &c);
switch (c) {
case ' ':
case '\n':
printf("blank\n");
break;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
printf("digit\n");
break;
default:
printf("other\n");
break;
}
return 0;
}
for循环
乘方表
#include<stdio.h>
#include<math.h>
int main()
{
int i,n;
double power;
printf("Enter n: ");
scanf("%d", n);
for(i=0; i<=n; i++){
power=pow(2,i);
printf("pow(2,%d)=%.Of\n",i , power);
}
return 0;
}
找出一个整数中各位数字间的最小数字
#include<stdio.h>
int main()
{
int n,i,num,min;
scanf("%d",&n);
scanf("%d",&min);
for(i=1;i<n;i++){
scanf("%d",&num);
min=(min > num ? num : min);
}
printf("min = %d",min);
return 0;
}
while循环
求位数
#include <stdio.h>
int main() {
int x;
int n=0;
scanf("%d",&x);
x/=10;
n++;
while(x>0){
x/=10;
n++;
}
printf("该数字为%d位数。\n",n);
return 0;
}
求整数的位数及各位数字之和
#include<stdio.h>
int main()
{
int N,i=0,sum=0;
scanf("%d",&N);
while(N!=0){
sum+=N%10;
i++;
N=N/10;
}
printf("%d %d",i,sum);
return 0;
}
do while循环
猜数游戏
#include<stdio.h>
int main()
{
srand(time(0));
int number=rand()%100+1;
int count=0;
int a=0;
printf("我已经想好了一个1到100之间的数。");
do{
printf("请给出你的猜想:");
scanf("%d",&a);
count++;
if(a>number){
printf("你猜的数大了。");
}else if(a<number){
printf("你猜的数小了。");
}
}while(a!=number);
printf("恭喜,你用了%d次就猜到了答案。\n",count);
return 0;
}
对于数字的/和%的应用
#include<stdio.h>
int main()
{
// 13425 / 10000 -> 1
// 13425 % 10000 -> 3425
int x;
scanf("%d", &x);
int mask = 1;
int t = x;
while(t>=10){
t /=10;
mask*=10;
}
printf("x=%d, mask=%d\n", x, mask);
do {
int d = x / mask;
printf("%d",d);
if( mask>=10){
printf(" ");
}
x%=mask;
mask /=10;
}while( mask>0);
printf("\n");
return 0;
}
for循环的嵌套
硬币问题
#include<stdio.h>
int main()
{
int x;
int one,two,five;
//int exit = 0;
//scanf("%d",&x);
x=2;
for(one = 1; one<x*10; one++){
for( two = 1; two<x*10/2; two++){
for(five = 1;five<x*10/5; five++){
if( one + two*2 + five*5 == x*10){
printf("可以用%d个1角和%d个两角和%d个伍角得到%d元\n",one,two,five,x);
//exit = 1;
//break;
goto out;
}
}
//if( exit == 1)break;
}
//if( exit == 1)break;
}
out:
return 0;
}
定义调用函数
自定义函数分段函数
#include<stdio.h>
int sign (int x);
int main()
{
int r;
r=sign(7);
if(r==1)
printf("f(x)=1");
else if(r==0)
printf("f(x)=0");
else
printf("f(x)=-1");
return 0;
}
int sign(int x)
{
if (x>0){
return 1;}
else if(x==0){
return 0;}
else{
return -1;}
}
自定义函数判断奇数偶数
#include<stdio.h>
int even(int n);
int main()
{
int r;
r=even(7);
if(r==0)
printf("odd");
else
printf("even");
return 0;
}
int even (int n)
{
if (n%2==0)
return 1;
else
return 0;
}
自定义函数判断素数
#include <stdio.h>
#include <math.h>
int prime (int p);
int primesum( int m,int n );
int main()
{
int m,n,p;
scanf("%d %d",&m,&n);
printf("sum of(");
for(p=m;p<=n;p++){
if(prime(p) !=0 ){
printf("%d",p);}
}
printf(") = %d\n", primesum(m,n));
return 0;
}
int prime(int p)
{
int i,limit;
if(p<=1){
return 0;}
else if(p==2){
return 1;}
else{
limit=sqrt(p)+1;
for(i=2;i<=limit;i++){
if(p%i==0){
return 0;
}
}
return 1;
}
}
int primesum(int m,int n)
{
int i;
int sum=0;
for(i=m;i<=n;i++){
if(prime(i)==1){
sum=sum+i;}
}
return sum;
}