[c] 练习题

1.将数组A中的内容和数组B中的内容进行交换。(数组一样大)

#include<stdio.h>

#include<stdlib.h>

void swap(int a1[], int a2[],int len)
{
int i = 0;
for (i = 0; i < len; i++)
{
int tmp = a1[i];
a1[i] = a2[i];
a2[i] = tmp;
}
}
int main()
{
int i = 0;
int a1[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
int a2[10] = { 0, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
swap(a1, a2,sizeof(a1)/sizeof(a1[0]));
for (i = 0; i < 10; i++)
{
printf("%d", a1[i]);
}
printf("\n");
for (i = 0; i < 10; i++)
{
printf("%d", a2[i]);
}
system("pause");
return 0;

}


//2.获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列

#include<stdio.h>
int main()
{
int num = 0;
int i = 0;
int j = 0;
char arr1[16] ;
char arr2[16] ;
scanf("%d", &num);
//基数位
for (i = 0, j = 0; i < 32; i += 2, j++)


{
arr1[15 - j] = (num >> i) & 1;


}


for (i = 1, j = 0; i < 32; i += 2, j++)
{
arr2[15 - j] = (num >> i) & 1;
}

for (i = 0; i < 16; i++)
{
printf("%d", arr1[i]);
}
printf("\n");
for (i = 0; i < 16; i++)
{
printf("%d", arr2[i]);
}
system("pause");
return 0;
}


//.将三个数按从大到小输出。

#include<stdio.h>
void swap(int *p1, int *p2)
{
int tmp = *p1;
*p1 = *p2;
*p2 = tmp;
}
int main()
{
int a, b, c;
printf("请输入三个数字");
scanf("%d %d %d", &a, &b, &c);
if (a < b)
{
swap(&a, &b);
}
if (a < c)
swap(&a, &c);
if (b < c)
swap(&b, &c);
printf("%d %d %d", a, b, c);
system("pause");
return 0;
}



//2.求两个数的最大公约数。 辗转相除法
#include<stdio.h>
int main()
{
int a, b;
int c ;
printf("请输入两个数");
scanf("%d %d", &a, &b);
while (c=a%b)
{
a = b;
b =c;
}
printf("两个数的最大公约数:%d\n", b);
system("pause");
return 0;
}



//3.编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,
//如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。
#include<stdio.h>
int main()
{
int ch = 0;
while ((ch = getchar()) != EOF)
{
if (ch >='a'&&ch <= 'z')
{
putchar(ch-32);
}
else if (ch>='A'&&ch <= 'Z')
{
putchar(ch+32);
}
else  if (ch >= '0'&&ch <= '9')
{
;
}
else
putchar;
}
system("pause");
return 0;
}




#include<stdio.h>
int main()
{

int n = 1;
int m = 2;
switch (n)
{
case 1:
m++;
case 2:
n++;
case 3:
switch (n)
{//switch允许嵌套使⽤
case 1:
n++;
case 2:
m++;
n++;
break;
}
case 4:
m++;
break;
default:
break;
}
printf("n = %d, m = %d\n", n, m);    //n=3  m=5

system("pause");
return 0;
}
1. 输出一个整数的每一位。
#include<stdio.h>
int main()
{
int n = 0;
printf("请输入一个数");
scanf("%d", &n);
while (n%10)
{
printf("%d ", n % 10);
n = n / 10;
}
system("pause");
return 0;
}
2. 计算1 / 1 - 1 / 2 + 1 / 3 - 1 / 4 + 1 / 5 …… + 1 / 99 - 1 / 100 的值。
#include<stdio.h>
int main()
{
int i = 0;

double sum = 0.0;
int sign = 1;
for (i = 1; i <= 100; i++)
{
sum = sum + sign*(1.0 / i);
sign = -sign;
}
printf("sum=%lf", sum);
system("pause");
return 0;
}


3. 编写程序数一下 1到 100 的所有整数中出现多少次数字 9
#include<stdio.h>
int main()
{
int i = 0;
int count = 0;
for (i = 1; i <= 100; i++)
{
if (i % 10 == 9)
{
count++;
}
if (i / 10 == 9)
{
count++;
}
}
printf("count=%d", count);
system("pause");
return 0;
}


4.在屏幕上输出以下图案:
#include<stdio.h>
int main()
{
int line = 0;
int i = 0;
int k = 0;
int j = 0;
printf("请输入行数");
scanf("%d", &line);
for (i = 0; i < line; i++)
{

for (j = 0; j<line-i-1; j++)

printf(" ");
}
for (k = 0; k <2*i+1; k++)
{
printf("*");
}
printf("\n");
}
for (i = line; i>0; i--)
{
for (j = 0; j <=line - i ; j++)
{
printf(" ");
}
for (k = 2*i-3; k>0; k--)
{
printf("*");
}
printf("\n");
}
system("pause");
return 0;
}
5.求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3 ? ,则153是一个“水仙花数”。
/*
在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。
例如153、370、371及407就是三位数的水仙花数,其各个数之立方和等于该数:
153 = 1^3 + 5^3 + 3^3。
370 = 3^3 + 7^3 + 0^3。
371 = 3^3 + 7^3 + 1^3。
407 = 4^3 + 0^3 + 7^3。
*/


#include<stdio.h>
#include<math.h>
int main()
{
int i = 0;
int sum = 0;
for (i = 101; i < 999; i++)
{
int tmp = i ;
sum = 0;    // 每次进入循环后要进行初始化
while (tmp >0)
{
sum += pow(tmp % 10, 3);
tmp /= 10;
}
if (sum == i)
{
printf("%d ", i);
}

}
system("pause");
return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值