c语言小程序(2)

4.1.1 任务描述

编程求一个四位自然数 ABCD ,它乘以 A 后变成 DCBA 。

方法一

#include <stdio.h>

int  main(){

int ABCD = 0;

int DCBA = 0;

int A = 1;

int B = 0;

int C = 0;

int D = 0;

ABCD=1000;

do {

ABCD++;

A = ABCD / 1000;

B = ABCD / 100 - A * 10;

C = ABCD / 10 - A * 100 - B * 10;

D = ABCD - A * 1000 - B * 100 -C * 10;

DCBA = D * 1000 + C * 100 + B *10 + A;

if ( DCBA == ( ABCD * A ))

{

printf ( "The Number is %d\n" ,ABCD);

}

} while (ABCD<10000);

return 0;

}

___________________________________________________________-

方法二

#include <stdio.h>

int  main(){

int ABCD = 0;

int DCBA = 0;

int A = 1;

int B = 0;

int C = 0;

int D = 0;

ABCD=1000;

for (ABCD = 1000;ABCD < 10000; ABCD++) {

A = ABCD / 1000;

B = ABCD / 100 - A * 10;

C = ABCD / 10 - A * 100 - B * 10;

D = ABCD - A * 1000 - B * 100 - C * 10;

DCBA = D * 1000 + C * 100 + B *10 + A;

if ( DCBA == ( ABCD * A ))

{

printf ( "The Number is %d\n" ,ABCD);

}

}

_ return 0;

}

_________________________________________________________________

方法三

#include <stdio.h>

int  main(){

int ABCD = 0;

int DCBA = 0;

int A = 1;

int B = 0;

int C = 0;

int D = 0;

ABCD=1000;

while (ABCD<10000){

ABCD++;

A = ABCD / 1000;

B= ABCD / 100 - A * 10;

C= ABCD / 10 - A * 100 - B * 10;

D = ABCD - A * 1000 - B * 100 - C * 10;

DCBA = D * 1000 + C * 100 + B * 10 + A;

if ( DCBA == ( ABCD * A ))

{

printf ( "The Number is %d\n" ,ABCD);

}

}

return 0;

}

4.2.1 任务描述

编写一个程序,从键盘上接收一个整数,并且从 1-100 之间找到能被它整除的整数,并输出找到的整数。

#include <stdio.h>

int  main(){

int a;

int i=1;

printf ( " 请输入一个值 " );

fflush (stdout);

scanf ( "%d" ,&a);

for (;i<=100;i++){

if (a%i==0){

printf ( " 能被整除的数是 :%d\n" ,i);

}

}

return 0;

}

4.3.1 任务描述

模拟 XX 银行输入密码的操作,在程序开始时提示用户输入密码,如果密码输入不正确(可以事先自己随意确定一个密码,如果输入不是这个密码,就认为是错误的),则要求用户重新进行输入;如果输入正确,可以直接输出“密码输入正确 , 请选择其他操作 . ”即可,然后程序结束。如果用户连续三次输入错误,程序也将结束,可以提示用户“密码输入有误超过 3 次 , 您的帐户已经被冻结 , 请明天再输入 . ”
#include <stdio.h>

int  main(){

int a=0,i=1;

printf ( " 请输入密码:: " );

fflush (stdout);

while (i<=3)

{

scanf ( "%d" ,&a);

if (a!=121212)

{

printf ( " 密码错误,请重新输入 !\n" );

fflush (stdout);

i++;

}

else {

printf ( " 密码正确请继续操作! \n" );

return 1;

}

}

printf ( " 密码输入有误超过 3 次 , 您的帐户已经被冻结 , 请明天再输入 \n" );

return 0;

}

4.4.1 任务描述

使用循环语句实现下面的图形:

*****

****

***

**

*

#include <stdio.h>

int  main(){

int b;

for ( b=5;b>=1;b--){

int a=0;

for (a=0;a<b;a++){

printf ( "*" );

}

printf ( "\n" );

}

return 0;

5.1.1 作业任务

使用循环语句输出一个以 * 号组成的菱形。要求行数从键盘接收。

#include <stdio.h>

int  main() {

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

fflush (stdout);

int i, j, n;

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;

}

5.2.1 作业任务

编写一个程序,它能够读入一个正方形的边长,然后输出一个由星号和空格组成的边长为刚刚读入的边长的空心正方形。例如,程序读入的边长是 5 ,那么它应输出边长为 5 的空心正方形。

#include <stdio.h>

int  main(){

printf ( " 输入一个正方形的边长 :" );

fflush (stdout);

int i, j, a;

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;

}

5.3.1 作业任务

设计一个程序,该程序能将一个十进制整数,输出将其转化为二进制数以后有多少个 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;

}

5.4.1 作业任务

有一条长阶梯,若每步跨 2 阶最后剩下 1 阶;若每步跨 3 阶最后剩下 2 阶;若每步跨 5 阶最后剩下 4 阶;若每步跨 6 阶最后剩下 5 阶;只有每步跨 7 阶,最后才正好 1 阶不剩。编程计算这条阶梯共有多少阶?

方法一

#include <stdio.h>

int  main(){

int i;

for (i=1;i>0;i++){

if ((i%2==1) && (i%3==2) && (i%5==4) && (i%6==5)&& (i%7==0)){

printf ( " 总台阶数是; %d\n" ,i);

} else {

i++;

}

}

return 0;

}

_______________________________________________________________________-

方法二

#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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值