别问我为什么现在还发C语言的题解→_→
问就是因为某人hhh
别问写法为什么这么奇怪,我们学校环境vc6…
#include<stdio.h>
int fun(long x){
int arr[30]={0},cnt = 0;
int i;
while(x){
arr[cnt++] = x%10;
x/=10;
}
for(i=0;i<cnt/2;i++)if(arr[i]!=arr[cnt-i-1])return 0;
return 1;
}
int main(){
long in;
scanf("%ld",&in);
if(fun(in))
printf("YES\n");
else
printf("NO\n");
return 0;
}
#include<stdio.h>
#include<string.h>
void sortchar(char s[]){
int i,j,len = strlen(s),cnt = 0;
char t[90]={0};
for(i=0;i<len;i++)if(s[i]!=' ')t[cnt++]=s[i];
for(i=0;i<cnt;i++){
for(j=i+1;j<cnt;j++)if(t[i]>t[j]){
char tmp = t[i];
t[i] = t[j];
t[j] = tmp;
}
}
for(i=0;i<cnt;i++)s[i]=t[i];
s[cnt] = '\0';
}
main()
{
char s[80];
gets(s);
sortchar(s);
puts(s);
}
也可以先新建一个数组,把非空字符拿到丢进去,然后同理排序,这样可以省下函数里的最后俩句话。
#include<stdio.h>
#include<string.h>
void del_samechar(char a[]){
char b[100]={0};
int len = strlen(a);
int i,j,cnt = 0;
for(i=0;i<len;i++)if(a[i]!=a[i+1]){
if(i>0&&a[i]==a[i-1])continue;
b[cnt++] = a[i];
}
for(i=0;i<cnt;i++)a[i]=b[i];
a[cnt]='\0';
}
int main(){
char str[100];
gets(str);
del_samechar(str);
puts(str);
return 0;
}
#include<stdio.h>
#include<string.h>
void counta_z(char str[],int count[]){
int len = strlen(str);
int i;
for(i=0;i<len;i++){
if(str[i]>='a'&&str[i]<='z')count[str[i]-'a']++;
else if(str[i]>='A'&&str[i]<='Z')count[str[i]-'A']++;
}
}
int main(){
char str[255];
int count[26]={0};
int i;
gets(str);
counta_z(str,count);
for(i=0;i<26;i++)
if(count[i])
printf("%c出现的次数为:%d\n",i+'a',count[i]);//这里原题是中文:还是英文:?(我看不清楚,可能需要你看看
return 0;
}
#include<stdio.h>
#include<string.h>
int fun(int arr[],int len,int y){
int i,tmp[100]={0},cnt=0;
for(i=0;i<len;i++)
if(arr[i]!=y)tmp[cnt++]=arr[i];
for(i=0;i<cnt;i++)arr[i]=tmp[i];
return cnt;
}
#define M 15
int main(){
int aa[M]={1,2,3,3,2,1,1,2,3,4,5,4,3,2,1},n=15,y,k;
scanf("%d",&y);
n = fun(aa,n,y);
for(k=0;k<n;k++)
printf("%d ",aa[k]);
printf("\n");
return (0);
}
#include<stdio.h>
#include<string.h>
long compose(long int n){
int arr[100] = {0},cnt = 0;
while(n){
arr[cnt++] = n%10;
n/=10;
}
long int ans = 0;
int i;
for(i=cnt-1;i>=0;i--)if(arr[i]%2==0){
ans = ans*10+arr[i];
}
return ans;
}
#define M 15
int main(){
long int n;
scanf("%ld",&n);
printf("%ld\n",compose(n));
return 0;
}
#include<stdio.h>
#include<string.h>
int fun(long n){
int arr[30]={0},cnt = 0;
int i;
while(n){
arr[cnt++] = n%10;
n/=10;
}
for(i=0;i<cnt/2;i++)if(arr[i]!=arr[cnt-i-1])return 0;
return 1;
}
main()
{
long in;
scanf("%ld",&in);
if(fun(in))
printf("YES\n");
else
printf("NO\n");
}
#include<stdio.h>
#include<string.h>
void sort(int a[],int n){
int i,j;
for(i=0;i<n;i++){
for(j=i+1;j<n;j++)if(a[i]>a[j]){
int tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
}
}
int main(){
int a[10],i,n;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("排序之前的数组:");
for(i=0;i<n;i++)
printf("%d ",a[i]);
sort(a,n);
printf("\n排序之后的数组:");
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}