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;
}
按照你的要求编写的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;
}
#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;
}
上面的代码可以,已经调试通过。
广告 您可能关注的内容 |