c语言基础例题之三——循环
来源:互联网 发布:软件强制卸载 编辑:程序博客网 时间:2024/04/28 01:54
1.编程求一个四位自然数ABCD,它乘以A后变成DCBA。
#include<stdio.h>
int main() {
//for
int ABCD = 0;
for (ABCD = 1000; ABCD < 10000; ABCD++) {
int A, B, C, D;
A = ABCD / 1000;
B = ABCD % 1000 / 100;
C = ABCD % 100 / 10;
D = ABCD % 10;
if (ABCD * A == (D * 1000 + C * 100 + B * 10 + A)) {
printf("这个四位数位:%d\n", ABCD);
}
}
//while
/*int ABCD =1000;
while ( ABCD < 10000) {
ABCD++;
int A, B, C, D;
A = ABCD / 1000;
B = ABCD % 1000 / 100;
C = ABCD % 100 / 10;
D = ABCD % 10;
if (ABCD * A == (D * 1000 + C * 100 + B * 10 + A)) {
printf("这个四位数位:%d\n", ABCD);
}
}*/
//do=while
/*int ABCD =1000;
do {
ABCD++;
int A, B, C, D;
A = ABCD / 1000;
B = ABCD % 1000 / 100;
C = ABCD % 100 / 10;
D = ABCD % 10;
if (ABCD * A == (D * 1000 + C * 100 + B * 10 + A)) {
printf("这个四位数位:%d\n", ABCD);
}
}while ( ABCD < 10000);
return 0;
}
2.编写一个程序,从键盘上接收一个整数,并且从1-100之间找到能被它整除的整数,并输出找到的整数。
#include<stdio.h>
int main() {
int num=0;
printf("请输入一个整数:");
fflush(stdout);
scanf("%d",&num);
//除数
int i=1;
while(i<=100){
i++;
if(i%num==0){
printf(" %d能被%d整除!\n ",num,i);
}
return 0;
}
3. 模拟XX银行输入密码的操作,在程序开始时提示用户输入密码,如果密码输入不正确(可以事先自己随意确定一个密码,如果输入不是这个密码,就认为是错误的),则要求用户重新进行输入;如果输入正确,可以直接输出“密码输入正确,请选择其他操作.”即可,然后程序结束。如果用户连续三次输入错误,程序也将结束,可以提示用户“密码输入有误超过3次,您的帐户已经被冻结,请明天再输入.”。
#include<stdio.h>
int main() {
int a=123,b=0,n=1;
while(n<=3){
n++;
printf("请输入密码:");
fflush(stdout);
scanf("%d",&b);
if(b==a){
printf("密码输入成功");
}
if(b==a)break;
if(n>3){
printf("密码输入有误超过3次,您的帐户已经被冻结,请明天再输入.");
break;
}
if(b!=a){
printf("密码输入有误");
continue;
}
}
return 0;
}
4.使用循环语句实现下面的图形:
*****
****
***
**
*
#include<stdio.h>
int main() {
int i, j;
for (i = 5; i > 0; i--)//用i来控制*的行数
{
for (j = 0; j < i; j++) { //用j来控制*的个数
printf("*");
}
printf("\n");
}
return 0;
}
5.使用循环语句输出一个以*号组成的菱形。要求行数从键盘接收。
#include<stdio.h>
int main() {
int i, j, n;
printf("请输入行数:\n");
fflush(stdout);
scanf("%d", &n);
for (i = 1; i <= n; i++) {
for (j = n - i; j > 0; j--)
printf(" ");
for (j = 1; j <= 2 * i - 1; j++)
printf("*");
printf("\n");
}
for (i = 1; i < n; i++) {
for (j = 0; j < i; j++)
printf(" ");
for (j = 2 * (n - i) - 1; j > 0; j--)
printf("*");
printf("\n");
}
return 0;
}
6.编写一个程序,它能够读入一个正方形的边长,然后输出一个由星号和空格组成的边长为刚刚读入的边长的空心正方形。例如,程序读入的边长是5,那么它应输出边长为5的空心正方形。
#include<stdio.h>
int main() {
int i, j, a;
printf("输入一个正方形的边长:");
fflush(stdout);
scanf("%d", &a);
for (i = 0; i < a; i++) {
printf("*");
}
printf("\n");
for (i = 0; i < a - 2; i++) {
printf("*");
for (j = 0; j < a - 2; j++) {
printf(" ");
}
printf("*\n");
}
for (i = 0; i < a; i++) {
printf("*");
}
printf("\n");
return 0;
}
7.设计一个程序,该程序能将一个十进制整数,输出将其转化为二进制数以后有多少个1.例如3转化为二进制是11,有两个1,就输出2;5转化为二进制是101,也输出2.
#include<stdio.h>
int main() {
int a, i = 0, j, k = 0;
int b[30];
printf("请输入一个十进制整数:\n");
fflush(stdout);
scanf("%d", &a);
while (a != 0) //下面几行吧十进制转换为二进制
{
b[i] = a % 2;
a /= 2;
i++;
}
printf("请输入1的个数:\n");
for (j = 0; j < i; j++) //计算1的个数
if (b[j] == 1)
k++;
printf("%d", k);
return 0;
}
8.有一条长阶梯,若每步跨2阶最后剩下1阶;若每步跨3阶最后剩下2阶;若每步跨5阶最后剩下4阶;若每步跨6阶最后剩下5阶;只有每步跨7阶,最后才正好1阶不剩。编程计算这条阶梯共有多少阶?
#include<stdio.h>
int main() {
int n=1;
while(!((n%2==1)&&(n%3==2)&&(n%5==4)&&(n%6==5)&&(n%7==0))){
++n;
}
printf("这条阶梯共有 %d 阶。",n);
return 0;
}
- c语言基础例题之三——循环
- c语言基础例题之二
- c语言基础例题之字符数组
- C语言基础之循环
- c语言例题指针三
- C语言基础——循环结构
- C语言基础教学——循环结构之for循环(第四课)
- C语言基础—数据结构之单向循环链表和双向循环链表
- C语言回顾(三、选择循环,数组及Fibonacci)——iOS开发基础
- c语言例题之数组
- c语言例题之函数
- C语言基础:循环
- 黑马程序员—IOS之C语言基础—循环结构与分支结构
- C语言程序例题(三)
- C语言 基础反汇编——for循环
- 黑马程序员——c语言基础:循环结构练习
- 黑马程序员——C语言基础---循环结构
- C语言基础——循环性结构
- siproid解读手记
- ubuntu plymouth
- HTML5 开发环境的配置
- 施一公:优秀博士如何养成(全文) 清华大学演讲
- ubuntu macbuntu主题
- c语言基础例题之三——循环
- NYOJ236,心急的C小加(偏序集 Dilworth 定理)
- 自己做MVC框架(以登录页面为例)
- linux下保存firefox的缓存图片
- linux下保存firefox的缓存flash
- 怎样做研究
- 下载网易公开课
- Linux 部署邮件服务器 postfix mysql dovecot
- 字符串转十六进制