#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;
}
按照你的要求打印星号菱形阵列的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;
}