当前位置:首页 » 编程语言 » c语言菱形题目大全
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言菱形题目大全

发布时间: 2022-09-10 21:50:00

A. 三道c语言题 算术题 数字菱形 数字正方形

先给第三题
#include "stdio.h"

int main()
{
int b=1,i,j,c=1;
while(b!=0)
{
printf("请输入正方形的长度:(非负整形)\n");
scanf("%d",&b);
for(i=1;i<=b;i++)
{
for(j=1;j<=b;j++)
{
printf("%2d ",c++);
}
printf("\n");
}
}

}

B. c语言输出菱形

#include<stdlib.h>
#include<stdio.h>

intmain()
{
intnum,i,j=1,k;
charletter_A=65;

printf("Pleaseinputanoddnumber:");
scanf("%d",&num);

if(num%2==0)
{
printf("! ");
return0;
}

while(j<=num)
{
for(k=0;k<((num-j)/2);k++)
printf("%c",32);

for(i=0;i<j;i++)
{
printf("%c",letter_A+i);
}
printf(" ");
letter_A++;
j+=2;
}
j-=4;
letter_A-=2;
while(j>0)
{
for(k=0;k<((num-j)/2);k++)
printf("%c",32);

for(i=0;i<j;i++)
{
printf("%c",letter_A+i);
}
printf(" ");
letter_A--;
j-=2;
}
printf(" ");
return0;
}

C. 求C语言高手! 题:输出n行菱形。 请写出完整答案,谢谢哈

#include<stdio.h>
void main()
{int i,n,j;
printf("请输入n的值:\n");
scanf("%d",&n);
for (i=0;i<n/2;i++)
{for (j=0;j<n/2-1-i;j++)
printf(" ");
for (j=0;j<2*i+1;j++)
printf("*");
printf("\n");
}
for (i=0;i<n/2-1;i++)
{for (j=0;j<i+1;j++)
printf(" ");
for (j=0;j<n-3-2*i;j++)
printf("*");
printf("\n");
}
}
试试这个,说不定有用....

D. C语言输出一个菱形图案(有程序)


菱形,就是如下所示的图形,总行数与总列数相等:
写一个程序,根据用户输入的总行数,打印出菱形。

这个题目主要是找出规律,考察读者的逻辑思维。

你可以从第一行开始,遍历所有的列,也可以从第一列开始,遍历所有的行。

下面的程序从第一行开始,遍历所有的列。

设菱形的总行数为line,总列数为column,当前行为i,当前列为j。上半部分与下半部分的规律不一样,应该分开讨论。

我们着眼于星号(*),思考什么条件下输出星号,总结出如下的规律。

1) 对于上半部分(包括中间一行),当前行与当前列满足如下关系输出星号:

  • j>=(column+1)/2-(i-1) (column+1)/2-(i-1)为第i行最左边的星号

  • j<=(column+1)/2+(i-1) (column+1)/2+(i-1)为第i行最右边的星号


  • 2) 对于下半部分,当前行与当前列满足如下关系输出星号:


  • j>=(column+1)/2-(line-i) (column+1)/2-(line-i)为第i行最左边的星号

  • j<=(column+1)/2+(line-i) (column+1)/2+(line-i)为第i行最右边的星号


  • 不满足上述条件,则输出空格。



  • 于是写出如下的代码:纯文本复制


  • #include <stdio.h>#include <stdlib.h>int main(){int line; // 菱形总行数int column; // 菱形总列数int i; // 当前行int j; // 当前列printf("请输入菱形的行数(奇数):");scanf("%d", &line);if(line%2==0){ // 判断是否是奇数printf("必须输入奇数! ");exit(1);}column = line; // 总行数和总列数相同for(i=1; i<=line; i++){ // 遍历所有行if(i<(line+1)/2+1){ // 上半部分(包括中间一行)for(j=1; j<=column; j++){ // 遍历上半部分的所有列if( (column+1)/2-(i-1)<=j && j<=(column+1)/2+(i-1) ){printf("*");}else{printf(" ");}}}else{ // 下半部分for(j=1; j<=column; j++){ // 遍历下半部分的所有列if( (column+1)/2-(line-i)<=j && j<=(column+1)/2+(line-i) ){printf("*");}else{printf(" ");}}}printf(" ");}return 0;}


E. C语言 输入数字和大写字母,输出由字母组成的菱形。(15分)

#include <stdio.h>
#include <math.h>
int main(void)
{
int i,j,n;
char ch;
scanf("%d %c",&n,&ch);
for(i=1;i<=n;i++)
{
for(j=1;j<=n+i-1;j++)
{
if(j==n-i+1||j==n+i-1)
{
if(ch>'Z')
printf("%c",ch-26);
else
printf("%c",ch);
}
else
printf(" ");
}
ch++;
printf("\n");
}
for(i=1;i<=n-1;i++)
{
for(j=1;j<=2*n-i-1;j++)
{
if(j==i+1||j==2*n-i-1)
{
if(ch>'Z')
printf("%c",ch-26);
else
printf("%c",ch);
}
else
printf(" ");
}
ch++;
printf("\n");
}
return 0;
}
考虑字符超过Z的情况。

F. C语言基础题,输出一个菱形图!

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

char diamond[][5]={{' ',' ','*'},{' ','*',' ','*'},{'*',' ',' ',' ','*'},{' ','*',' ','*'},{' ',' ','*'}};//char diamond[5][5]
int i,j;
for(i=0;i<5;i++)//5次循环
{
for(j=0;j<5;j++)//5次循环
printf("%c",diamond[i][j]);//因为是二重循环,此语句执行25次,j增加5次i增加1次
printf("\n");//菱形一共5行,每输出一行换行一次

}
return 0;
}

G. c语言输出菱形

按照题目要求编写的C语言输出菱形的程序如下(其中abs()是求绝对值的函数)

#include<stdio.h>

#include<stdlib.h>

intmain()

{

inti,j,N,n;

scanf("%d",&N);

n=(N+1)/2;//计算菱形上层层数

for(i=1;i<=N;i++){

for(j=1;j<=abs(n-i);j++){

printf("");

}

for(j=1;j<=N-2*abs(i-n);j++){

printf("*");

}

printf(" ");

}

return0;

}

H. C语言编程,用*组成菱形

#include <stdio.h>

#include <stdlib.h>

int main(){

int line=7; // 菱形总行数

int column; // 菱形总列数

int i; // 当前行

int j; // 当前列

printf("请输入菱形的行数(奇数):7 ");

scanf("%d", &line);

if(line%2==0){ // 判断是否是奇数

printf("必须输入奇数! ");

exit(1);

}

column = line; // 总行数和总列数相同

for(i=1; i<=line; i++){ // 遍历所有行

if(i<(line+1)/2+1){ // 上半部分(包括中间一行)

for(j=1; j<=column; j++){ // 遍历上半部分的所有列

if( (column+1)/2-(i-1)<=j && j<=(column+1)/2+(i-1) ){

printf("*");

}else{

printf(" ");

}

}

}else{ // 下半部分

for(j=1; j<=column; j++){ // 遍历下半部分的所有列

if( (column+1)/2-(line-i)<=j && j<=(column+1)/2+(line-i) ){

printf("*");

}else{

printf(" ");

}

}

}

printf(" ");

}

return 0;

}

(8)c语言菱形题目大全扩展阅读:

C语言书写规则:

1、一个说明或一个语句占一行。

2、用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。

3、低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。

网络-c语言

I. c语言编写菱形问题

#include <stdio.h>
#include <stdlib.h>
void main ()
{
int i,j,k,m,n,size;

printf ("input size: ");
scanf ("%d",&size);
if (size <=0||size%2==0)
{
printf ("thr size is error!\n");
exit (-1);
}
for (i=1;i<=size;i++)
{
n=(i<=(size+1)/2) ? i : size-i+1;
n=2*n-1;
m=(size-n)/2;
for (k=1;k<=m;k++)
printf ("1");
for (j=1;j<=n;j++)
printf ("0");
for (k=1;k<=m;k++)
printf ("1");
printf ("\n");
}
}