用c语言输出空心菱形
- 格式:doc
- 大小:12.00 KB
- 文档页数:2


c语言用循环输出空心矩形在C语言中,我们可以使用循环语句来输出各种图形,其中包括空心矩形。
空心矩形是指由一些边框组成的矩形,中间部分为空白,没有填充物。
下面我们就来详细介绍如何使用循环语句输出空心矩形。
我们需要了解空心矩形的特点。
空心矩形的边框由四条直线组成,分别是上边框、下边框、左边框和右边框。
我们可以使用循环语句逐行输出这四条边框。
下面是一个示例代码,用于输出一个5行7列的空心矩形:```#include <stdio.h>int main() {int rows = 5; // 矩形的行数int cols = 7; // 矩形的列数for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {if (i == 0 || i == rows - 1 || j == 0 || j == cols - 1) {printf("*");} else {printf(" ");}}printf("\n");}return 0;}```在上述代码中,我们使用了两个嵌套的循环语句。
外层循环控制行数,内层循环控制列数。
通过判断当前的行数和列数,我们可以确定是否需要输出边框的星号字符。
在内层循环中,我们使用了条件判断语句。
当行数为0或者为最后一行,或者列数为0或者为最后一列时,我们输出星号字符。
否则,我们输出空格字符。
通过逐行逐列的输出字符,我们最终可以得到一个空心矩形。
根据需要,你可以修改`rows`和`cols`的值来改变矩形的大小。
除了这种简单的空心矩形,我们还可以通过嵌套循环和条件判断语句来输出更加复杂的图形。
例如,我们可以通过增加条件判断语句的条件,来输出带有空心内部的矩形,或者其他形状的图案。
总结起来,循环语句是在C语言中输出各种图形的常用方法之一。
1打印数字空心菱形Time Limit:1000MS Memory Limit:65536K题型: 编程题语言: 无限制描述由键盘输入n(n为奇数),打印如下图空心菱形例n=712 23 34 43 32 21输入格式整数输出格式如题输入样例3输出样例12 21作者Admin答案:#include <stdio.h>#include <math.h>int main(){int n,i,j;scanf("%d",&n);n/=2;for(i=-n;i<=n;++i){for(j=0;j<2*n+1-abs(i);++j){if(j==abs(i)||j==2*n-abs(i)){printf("%d",n-abs(i)+1);}else{printf("\040");}}printf("\n");}return 0;}2两数和为1909Time Limit:1000MS Memory Limit:65536K题型: 编程题语言: 无限制描述由键盘输入10个整数,编程判断是否存在两个数的和为1909,存在输出Y,不存在输出N输入格式10个整数,由空格分隔输出格式Y或者N输入样例2 1900 42 3123 31 23 343 213 34 9输出样例Y提示作者Admin#include<stdio.h>#include<stdlib.h>main(){int a[10];int i,j;int flag = 0;printf("input ten numbers:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){for(j=0;j<10;j++)if(a[j] + a[i] == 1909 && i!=j){flag = 1;break;}}if(flag) printf("Y\n");else printf("N\n");system("pause");}3回文串的判断Time Limit:1000MS Memory Limit:65536K题型: 编程题语言: 无限制描述回文串是指一个字符串从左读到右与从右读到左是一样的,现由键盘输入一行字符(最多不超过80个字符,以回车结束),判断能否通过去掉0个或1个字符,使得字符串成为回文串,如果可以输出Y,否则输出N输入格式一行字符输出格式Y或N输入样例abca输出样例Y提示提示,去掉c字符,即可成为回文串作者Admin#include "stdio.h"#include "string.h"int main(){int n;char a[100]="abca";int i,j,flag;n=strlen(a);i=0;j=n-1;flag=0; // characters qty need insertedwhile ( (flag<2) // only need 0 or 1 character&& ((i+1)<=(j-1)) // have character to compare){if (a[i]==a[j]) {i++; j--;}else if (a[i]==a[j-1]) {flag++; i++; j-=2;}else if (a[i+1]==a[j]) {flag++; i+=2; j--;}else flag=2;}if (flag<2) printf("Y");else printf("N");return 0;}二:#include<stdio.h>#include<conio.h>#define SIZE 20int isPalindrome(char []); /* Prototype only send the number and type of arguments to the Compiler. */main(){ /*Local Declarations*/char str[SIZE];/*Statements*/printf("请输入字符串,以回车结束:\n");scanf("%s",str); /*Record the string.*/if(isPalindrome(str)==0) /*The string is not a palindrome.*/ { printf("The string is not a palindrome.\n"); }else /*The string is a palindrome.*/{ printf("The string is a palindrome.\n"); }system("pause");return 0;}三:#include<stdio.h>#include<string.h>void main(){char str[20],copy[20];char temp;char *head,*tail;printf("Please input a string:\n");gets(str);strcpy(copy,str);head=str;tail=str+strlen(str)-1;while(head<tail){temp=*head;*head++=*tail;*tail--=temp;}if(strcmp(copy,str)==0)printf("该字符串为回文。