请大佬帮忙编一个c语言程序 求大佬帮写一个C语言程序,输入一个n,能对随便某一位清零的程...
键盘上输入数,然后排序的代码如下:
#include <stdio.h>
int main()
{
int i, j, a[100], m, n, temp;
printf("输入数据数量:
");
scanf("%d",&n);
printf("输入%d个数据:
",n);
for (i=0; i<n; i++) scanf("%d", &a[i]);
//选择排序
for (j=0; j<n-1; j++)
{
m = j;
for (i=j+1; i<n; i++)
{
if (a[i] < a[m])
{
m = j;
}
}
temp = a[j];
a[j] = a[m];
a[m] = temp;
}
//显示结果
for (i=0; i<n; i++)
{
printf("%4d", a[i]);
}
return 0;
}
从小到大选择排序的基本思想是,如果有N个元素需要排序,那么首先从N个元素中找到最小的那个元素与第0位置上的元素交换(如果没有比原本在第0位置上的元素小的就不用交换了,后面的同样是),然后再从剩下的N-1个元素中找到最小的元素与第1位置上的元素交换,之后再从剩下的N-2个元素中找到最小的元素与第2位置上的元素交换,直到所有元素都排序好。
#include <stdio.h>
#include <malloc.h>
void print(int *arr, int ln)
{
int i = 0;
for (; i < ln; ++i)
{
printf("%5d ", arr[i]);
}
printf("
");
}
void bubbleSort(int *arr, int n)
{
int x, y;
do {
y = 0;
for (x = 0; x < n - 1; x++) {
if (arr[x] > arr[x + 1]) {
const int temp = arr[x];
arr[x] = arr[x + 1];
arr[x + 1] = temp;
y = 1;
}
}
} while (y);
}
int main()
{
int i, n, *p;
printf("输入数据数量:");
scanf("%d", &n);
p = (int*)malloc(sizeof(int)*n);
printf("输入%d个数据:", n);
for (i = 0; i < n; i++) scanf("%d", p + i);
printf("input :"); print(p, n);
bubbleSort(p, n);
printf("sorted:"); print(p, n);
free(p);
return 0;
}
#include<stdio.h>
int main(){
int i,j,k,N;
scanf("%d\n",&N);
int arr[N];
for(i=0;i<N;i++){
scanf("%d\n",&arr[i]);
}
for(j=0;j<N;j++){
for(k=j+1;j<N-j;j++){
if(arr[j]>arr[k]){
int temp=arr[j];
arr[j]=arr[k];
arr[k]=temp;
}
}
}
for(int m=0;m<N;m++){
printf("%d\n",arr[m]);
}
}
C语言编程,求一个大佬帮忙~
#includevoid fun1(char*p){char *q; for(q=p;*q=='*';q++); for(;*p++=*q++;);}void fun2(char*p){char *q; for(q=p;*q;q++); for(;*--q=='*';); *++q='\0';}int main(){char s[100]="******1234jshd sfg jg**ksj **** shdfhks4321******"; puts(s); fun1(s); fun2(s); puts(s); return 0;}
对15(1111B)的第2位清0,得(1011B)
#includeint main(){ int a,n; scanf("%d%d",&n,&a); a&=~(1<<n); printf("%d
",a); return 0;}
有没有哪位大佬告诉我这条c语言程序怎么写?
答:2、然后在一步步默认点击确定,完成即可,此时工作空间就建立起来了。二、接下来,再点击工具栏下的文件,里面有个新建菜单,点击它,出现下图的对话框:1、点击确定即可,创建出一个helloworld.c的小程序,然后我们就可以编写我们的Hello World小程序了。此时就需要我们的VC++ 6.0来编译此程序,编译无...
求大佬帮忙写个c程序
答:那我就随便敲一个方法咯:int fun(int a,int b,int c){ return a>b?(a>c?a:c):(b>c?b:c);} 一行代码就搞定咯,若你看不懂的话,你先去了解一下"三目运算符"
求大佬帮写C语言程序
答:for(i=0;i<3-1;i++){ for(j=0;j<3-1-i;j++){ if(a[j].stock<a[j+1].stock){ a[3]=a[j];a[j]=a[j+1];a[j+1]=a[3];} } } // 显示 for(i=0;i<3;i++){ printf("%s,%s,%d,%02d,%d\n",a[i].title,a[i].name,a[i].year.year,a[i].year.month...
求一个c语言编程大佬
答:include<stdio.h> int k;int sumOfFactor(int n){ int i,s=1;for(i=2; i*i<n; i++)if(n%i==0)s+=i+n/i;if(i*i==n)s+=i;return s;} int friendNum(int n){ k=sumOfFactor(n);return k==sumOfFactor(n)&&n==sumOfFactor(k);} int main(){ int n;scanf("%d"...
江湖救急!!!那位大佬帮忙写一下?老师要求用c语言编程,救救小白!谢谢_百...
答:include <stdio.h> int isRN(int n){ if((n%4==0&&n%100!=0)||n%400==0)return 1;else return 0;} int main(){ char *week[]={"日","一","二","三","四","五","六"};int days[2][12]={ {31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,...
求c语言大佬帮写程序
答:include<stdio.h>int main(){ int n; float w,p,y=0; while(1) { printf("请选择水果种类 1) 苹果 2) 香蕉 3) 橘子 0) 结束:"); scanf("%d",&n); if(n==1)p=3.5; else if(n==2)p=2.6; else if(n==3)p=1.8; else if(n==0)break; ...
c语言编程求大佬
答:include#define N 100int get_array(int a[]){ int i=0; while(scanf("%d",&a[i++])==1); return i-1;}int put_array(int a[], int n){ int i; for(i=0; i<n; i++) printf("%d ",a[i]); printf("\n"); return n;}int sort_array(int a[], int ...
能不能来个大佬写下c语言代码 救救孩子
答:printf("当输入为X时表示退出\n"); //提示 do{scanf("%c",&a); //输入城市 if(a=='X') break; //如果输入X,结束输入 scanf("%d",&b); //输入汽车代码 if(b>4||b<1)
c语言编写一个程序实现无符号十进制转换为二进制数
答:n2[i++]=','; } n2[i++]=n%2+'0'; n=n/2; cont++; } n2[i++]=n+'0'; //---打印--- while(i-->0) printf("%c",n2[i]);}
求大佬编一个数码管0到999的单片机程序,c语言的
答:include<reg51.h>#define uchar unsigned char#define uint unsigned int uchar distab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; //0到fuchar number,dis[4];uint dat;void t0isr() interrupt 1{TH0=(65536-5000)/256;...