2023-10-23 15:26来源:m.sf1369.com作者:宇宇
main()
{
int i,j,k;
printf(\n);
for(i=1;i<5;i++) /*以下为三重循环*/
for(j=1;j<5;j++)
for (k=1;k<5;k++)
{
if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/
printf(%d,%d,%d\n,i,j,k);
}
}
1、代码解释:以上这段代码是用C语言写出来的代码,他所解决的问题是:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。
2、C语言介绍:C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
3、C语言的优点:简洁紧凑、灵活方便。运算符丰富。数据结构丰富。C是结构式语言。C语宴扰法限制不太严格、程序设计自由度大,一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度。C语言程序生成代码质量高,程序执行效率高 ,一般只比汇编程序生成的目标代码缓轿效率低10へ20%。
4、其他编程语言介绍:Python (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序晌哪旦设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议 。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
#include <stdio.h>
int main(void) {
int a, b, c; //定义abc
float delta, Gdelta; //定义Delta和根号Delta
float x1, x2; //定义x1 x2
printf(**********一元二次方程计算器***********\n);
goto_OPEN: //goto语句,操作结束会自动跳转回到这里
printf(“一元二次方程格拿腔枝式消敏: aX2+bX+c=0\n);
printf(请输入a, b, c\n); //输入abc三个数值
scanf(%d, &a);
scanf(%d, &b);
sacnf(%d, &c);
delta=b*b+4*a*c; //Delta表达式
Gdelta=sqrt(delta); //根号Delta表达式
if (Gdelta >= 0) { //if语句,判断根号Delta的取值范围
if (Gdelta > 0) {
x1=((-b)+Gdelta)/2*a;
x2=((-b)-Gdelta)/2*a;
printf(x1=%d, x2=%d\n, x1, x2);
}
else if {
x1=((-b)+Gdelta)/2*a;
printf(x=%d, x1);
}
}
else if {
printf(次圆锋方程无解\n);
}
goto goto_OPEN; /回到开头
return 0;
}
print 'hello world'
删除数组中的某个元素,可以采取将删除位置之后的元素依次向前移纯祥动一位的办法来实现。
#include <stdio.h>
#define LEN 100 /*数组长度*/
#define elemType int /*元素类型*/
/*打印数组*/
void printArr (elemType arr[], int len) {
int i;
for (i=0; i<len; i++)
printf (%-4d,arr[i]);
putchar ('\n');
}
/*删除index号元素*/
void delElem (elemType arr[], int *len, int index) {
int i;
for (i=index; i<*len; i++)
arr[i]=arr[i+1];
*len-=1;
}
int main (void) {
elemType arr[LEN] = {1,2,3,4,5,6,7,8,9,10};
int len = 10;
int delIndex = 4; /*删除4号元素*/
int i;
puts (原数组:);
printArr (arr, len);
putchar ('\n');
puts (================================================================\n);
delElem (arr, &len, delIndex);
printf (删除%d号元素后数组:\n神裤渣,delIndex);
printArr (arr, len);
putchar ('\n');
fflush (stdin); /*清除缓冲区*/
getch (); /*屏幕暂留*/
return 0;
}
运游悄行结果
#include <stdio.h>
void fun(int *arr,int N,int dat)
{
int i,add=0,num=0;
for(i=0;i<N;i++)
{
if(arr[i]==dat)
{
if(add==0) add = i;
num++;
}
}
if(num>0)
{
memcpy(arr+add,arr+add+num,(N-add-num)*sizeof(arr[0]));
memset(arr+N-num,0,num*sizeof(arr[0]));
}
}
void main(void)
{
int a[20]={1,2,3,3,5,6,7,8,9};
int i;
for(i=0;i<9;i++)
printf(%d ,a[i]);
printf(\r\n);
fun(a,9,3);
for(i=0;i<9;i++)
兄慧塌printf(%d 羡圆,a[i]);
printf(\r\n);
}
int类型数组,假如类型是unsigned char的数组,你就碧激得改程序了,
完成 建一个cpp文件放代码进哗御去就可好蚂以了
//从一个已排序的数组中删去某数后,该数组仍然有序,必须要可以运行的呀!
#includestdio.h
#includeconio.h
#define MAX 100
typedef int datatype ;//默认数组类型是int 其他类型修改这里
int count = 0 ;
void sort(datatype*);
void input(datatype*);
void sdelete(datatype*) ;
void out(datatype*) ;
int main(void)
{
datatype a[MAX] = {0} ;
input(a) ;
sort(a) ;
printf(当前数组为:);
out(a) ;
printf(\n\n按任意键进行删除);
getch();
sdelete(a);
return 0 ;
}
void sort(datatype* data)
{
int i = 0 ;
int j = 0 ;
int temp = 0 ;
for (i = count - 1; i > 0; --i){
for (j = 0; j < i; ++j){
if(data[j+1] > data[j])
{
temp = data[j];
data[j] = data[j+1];
data[j+1] = temp;
}
}
}
}
void input(datatype* data)
{
int i = 0 ;
char tempc = 'a' ;
int flag = 0 ;
int tempi = 0 ;
int space=0;
printf(请输入数组 以空格隔开 回车结尾:) ;
fflush(stdin) ;
while((tempc=getchar())!='\n'){
if (tempc==' '){
data[space] = tempi ;
count++ ;
space++;
tempi = 0 ;
flag = 0 ;
}
else{
flag = 1 ;
tempi = tempi*10 + (tempc-48) ; // 将字符数字C转换为实际数字C
}
}
if(flag){//如果回车键之前为非空格,则友芦埋该数也要存入数组
data[space] = tempi ;
count++ ;
}
}
void out(datatype* data)
{
int i = 0 ;
for(i=0;i<count;i++){
printf(%d ,data[i]) ;
}
}
void sdelete(datatype* data)
{
datatype flag ;
int i = 0 ;
int j = 0 ;
while(1){
printf(\n输入删除的数字 输入555退出:);
fflush(stdin) ;
scanf(%d,&flag) ;
if(flag == 555){
break ;
}
for(i=0;i<count;i++){
if(data[i] == flag){
for(j=i; j<count;j++){
data[j] = data[j+1] ;
count -- ;
printf(\n删除后:);
out(data);
}
}
}
}
}
#include<stdio.h>
void main()
{
int array[10]={1,2,3,4,5,6,7,8,9,10};
int i,m,j;
printf(请插入要删除的元羡凳素:\n);
scanf(%d亮派陵,&m);
for(i=0;i<10;i++)
{
if(array[i]==m)
{for(j=i;j<10;j++)
array[j}=array[j+1];];
}
array[10]=0;
break;
}
for(i=0;i<9;i++)
printf(敬戚%3d,array[i]);
}
从已排序的数组中删除某数之后难道还会乱序吗?不是肯定还是有序的吗