C语言程序功能要求为,输入一个整数n(n>0 && n<10), 打印出星号菱形阵列?

如图... 如图 展开
 我来答
匿名用户
2020-02-26
展开全部

#include <stdio.h>

#define ABS(X)((X)<0?-(X):(X))

int main() {

  int n;

  do{

    scanf("%d",&n);

  }while(n<=0||n>=10);

  for(int i=-n+1; i<=n-1; i++,putchar('\n')) {

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

        if(ABS(i+j)%2==(n+1)%2&&ABS(i)+ABS(j)<=n-1)

            printf("*");

        else printf(" ");      

    }

  }

  return 0;

}

设计一个程序,用户每输入一行字符,保留输入字符中的数字和字母,并将所有小写字母转换为大写,最后按ASCII码由小到大排序输出

#include <stdio.h>

int main(){

  int a[256]={0};

  char s[10001];

  while((fgets(s,10000,stdin))!=NULL){

    int i=0;

    while(s[i]) {

      if(s[i]>='a'&&s[i]<='z') 

        a[s[i]-32]++;

      else if((s[i]>='A'&&s[i]<='Z')||(s[i]>='0'&&s[i]<='9'))

        a[s[i]]++;

      i++;

    }

    for(int j=0;j<256;j++)

      if(a[j]!=0) 

        printf("%c",j);

  }

  return 0;

}

紫薇参星
科技发烧友

2020-02-26 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3617万
展开全部

按照你的要求打印星号菱形阵列的C语言程序如下

追问

谢谢啦,这个程序我自己写出来啦,能再问您一个问题吗

设计一个程序,用户每输入一行字符,保留输入字符中的数字和字母,并将所有小写字母转换为大写,最后按ASCII码由小到大排序输出

这是我写的程序,但运行后输出不对

追答

按照你的要求编写的C语言程序如下
#include<stdio.h>
#include<string.h>
int main()
{
int i,j=0,k,n;
char str0[100]="\0",str1[100],ch;
printf("请输入一行字符:\n");
gets(str0);
n=strlen(str0);
for(i=0;i<n;i++){
if((str0[i]>='0'&&str0[i]<='9')||(str0[i]>='a'&&str0[i]<='z')||(str0[i]>='A'&&str0[i]<='Z'))
str1[j++]=str0[i];
}
str1[j]='\0';
for(i=0;i<j-1;i++){
for(k=0;k<j-i-1;k++){
if(str1[k]>str1[k+1]){
ch=str1[k];
str1[k]=str1[k+1];
str1[k+1]=ch;
}
}
}
printf("%s\n",str1);
return 0;
}

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaobandance
2020-02-26 · TA获得超过112个赞
知道小有建树答主
回答量:274
采纳率:62%
帮助的人:24.7万
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void PrintStr(int cnt,char* str)
{
int i;
for(i=0; i<cnt; i++)
{
printf("%s",str);
}
}
int main(int argc, char *argv[]) {

int count;
int spaceCnt;
char spaceStr[] = " ";
char starStr[] = "* ";
int i;

while(1)
{
scanf("%d",&count);

for(i=1; i<=(count*2-1); i++)
{
spaceCnt = abs(count-i);
PrintStr(spaceCnt,spaceStr);

PrintStr(count - spaceCnt,starStr);
printf("\r\n");
}
}

return 0;
}
上面的代码可以,已经调试通过。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式