c语言趣味编程实例

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
while(1)
{
if(staff_num % 3 == 2 && staff_num % 5 == 3 && staff_num % 7 == 0)
{
printf("该单位至少有%d人。", staff_num);
break;
}
staff_num++;
}
printf("\n");
return0;
}
}
for(intj = 1; j <= 2 * lay - 2 * (i - lay) - 1; j++)
{
if(j == 1 || j == (2 * lay - 2 * (i - lay) - 1))
printf("*");
else
printf(" ");
}
//打印换行
printf("\n");
for(intj = 0; j < 6; j++)
{
count++;
if(i == j || i == 0 || i == 5)
a[i][j] = 1;
else
a[i][j] = 0;
printf("a[%d][%d]=%d ", i, j, a[i][j]);
if(count % 6 == 0)
printf("\n\n\n");
开始打印,然后一左一右依次打印出其它字母,即M,L,Fra Baidu bibliotek,K,O,...。
要求:初始化时按字母表顺序赋值。
#include <stdio.h>
int main()
{
char x[] = "ABCDEFGHIJKLMNPQRST";
int k;
int n = 0;
while (x[n])
{
n++;
if (x[n] == 'M')
{
k = n;break;
}
}
printf("%c,",x[k]);
for (int i = 1; i <= 12; i++)
if (i <= 11)
printf("%c,%c,", (x[k] - i), (x[k] + i));
else
printf("%c,%c。", (x[k] - i), (x[k] + i));
}
}
6.打印实心菱形,与5题类似,如下图例
#include<stdio.h>
voidmain(){
intlay;
printf("请输入要打印的层数(菱形的半边):");
//表示有多少层
scanf_s("%d", &lay);//vs2010以后版本scanf安全问题会报错。
//以下代码打印菱形的上半部
4、将一个6×6数组的第一行、第六行、主对角线和副对角线上的元素都存入1,其余的元素都存入0。请编程序实现。要求:1)不许对数组初始化。2)尽量少用循环。
#include<stdio.h>
intmain(void)
{
inta[6][6];
intcount = 0;
for(inti = 0; i < 6;i++)
{
if (5 * x + 2 * y + z == 50)
{
count++;
printf("%d :", count);
printf("x=%d,y=%d,z=%d", x, y, z);
printf("\n");
}
}
return 0;
}
2、把25个字母A、B、C、···、X、Y按如下要求打印出来:从最中间的字母M
printf("\n");
return 0;
}
3、某单位排队形,开始排成3路纵队,末尾多出了2人。后改成5路纵队,末尾又多出了3人,最后改成7路纵队,正好没有余数。编程序求出该单位至少有多少人。
#include<stdio.h>
intmain()
{
intstaff_num = 7;//该单位至少有7人。
//以下代码打印菱形的上半部
for(inti = 1; i <= lay; i++)
{
for(intk = 1; k <= lay - i; k++)
{
printf(" ");
}
//每行星号个数
for(intj = 1; j <= 2 * i - 1; j++)
{
if(j == 1 || j == 2 * i - 1)
1、编程序求5X+2Y+Z=50的所有非负整数解。
#include <stdio.h>
int main()
{
int x, y, z;
int count = 0;
for (x = 0; 5 * x <= 50;x++)
for (y = 0; 2 * y <= 50; y++)
for (z = 0; z <= 50; z++)
}
//以下代码打印菱形的下半部
for(inti = lay + 1; i <= 2 * lay - 1; i++)
{
for(intk = 1; k <= i - lay; k++)
{
printf(" ");
}
//每行星号个数
for(intj = 1; j <= 2 * lay - 2 * (i - lay) - 1; j++)
for(inti = 1; i <= lay; i++)
{
for(intk = 1; k <= lay - i; k++)
{
printf(" ");
}
//每行星号个数
for(intj = 1; j <= 2 * i - 1; j++)
{
printf("*");
}
//打印换行
printf("\n");
}
return0;
}
5.打印空心菱形,图形如下:
其中行数可以从控制台输入,可变的,可以打印(1-n)层。
#include<stdio.h>
voidmain(){
intlay;
printf("请输入要打印的层数(菱形的半边):");
//表示有多少层,层数由用户输入,图例中lay=4
scanf_s("%d", &lay);//vs2010以后版本scanf安全问题会报错。
printf("*");
else
printf(" ");
}
//打印换行
printf("\n");
}
//以下代码打印菱形的下半部
for(inti =lay + 1; i <= 2 * lay - 1; i++)
{
for(intk = 1; k <= i - lay; k++)
{
printf(" ");
{
printf("*");
}
//打印换行
printf("\n");
}
}
相关文档
最新文档